[英]Ruby on Rails - Issues with AJAX (ActionController:UnknownFormat)
[英]ActionController::UnknownFormat (Ruby on Rails)
我正在創建一個Ruby on Rails應用程序,在其中渲染我的“ new.html.erb”(在我的klass控制器中),並在其頂部渲染我的部分“ _select_previous.html.erb”,此外,我還有一個“ link_to”從一個到另一個切換。 但是,當我嘗試從“ index.html.erb”啟動我的項目,然后使用“ link_to”轉到新文件時,它向我顯示了上面的錯誤。
我正在使用jQuery從一個視圖切換到另一個視圖。
這是我的new.html.erb:
<p> Or select from the previous created classes <%= link_to "here",
new_klass_path, id: "link_to", :remote => true %> </p>
<div id="previous">
<%= render :partial => 'select_previous' %>
</div>
<div id="content">
<!-- Ruby form -->
</div>
這是我的klasses控制器:
def index
@klass = Klass.all.paginate(:page => params[:page])
#import_klasses(@klass)
end
def new
@klass = Klass.new
#saved = @klass.save
#@klass.save!
#if saved
#s1 = Student.last.id
#k1 = Klass.last.id
#@enrollments = Enrollment.new(student_id: s1, klass_id: k1)
#binding.pry
#@enrollments.save!
#redirect_to :controller => 'enrollments', :action => 'index'
#flash[:alert] = "Class Created"
#end
#end
respond_to do |format|
format.html {}
format.js
end
end
這是我的show.js:
$(document).ready(function() {
$("#days").hide();
$("#grade").hide();
$("#class").hide();
$("#all").hide();
$("#previous").hide();
$("#link_to").click(function () {
var count = $(this).data("count") || 0;
if(count == 1)
{
$("#content").hide();
$("#previous").show();
}
else if(count == 2)
{
$("#content").show();
$("#previous").hide();
count = 0;
}
$(this).data("count", ++count);
});
});
在此先感謝您為我提供的任何幫助。
我的最后一次嘗試,似乎超出了我的深度。 與原始代碼一起使用,文件未重命名。 將您的js文件保留在原處。
respond_to do |format|
format.html {}
format.js do
redirect('/assets/show.js')
end
end
盡管我非常感謝為解決這個問題而付出的所有努力,但我必須建議我找到了解決問題的方法。
錯誤出在我的index.html.erb上,我沒有放它,因為我認為這與問題無關。 我的索引如下所示:
<div>
<%= link_to "Create new class", new_klass_path(@klass) %>
</div>
出現未知格式錯誤是因為它不知道“ @klass”是什么。 或者我相信。 我一拿走,就可以順利地從一頁過渡到另一頁。 而且,看起來像這樣知道:
<div>
<%= link_to "Create new class", new_klass_path %>
</div>
如果這惹惱了任何人,我深表歉意。 我真的很感謝大家的幫助。 我將嘗試快速升級,以便為您檢查有用的答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.