我正在创建一个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);
});
});
提前感谢您提供给我的任何帮助。
答案 0 :(得分:0)
我的最后一次尝试,因为我似乎超出了我的深度。将此与原始代码一起使用,文件未发送。将你的js文件留在原处。
respond_to do |format|
format.html {}
format.js do
redirect('/assets/show.js')
end
end
答案 1 :(得分:0)
虽然我非常感谢为解决这个问题而付出的所有努力,但我必须建议我找到解决问题的方法。
错误发生在我的index.html.erb上,我没有提到,因为我认为它与问题无关。我的索引看起来像这样:
<div>
<%= link_to "Create new class", new_klass_path(@klass) %>
</div>
出现未知格式错误,因为它不知道&#34; @klass&#34;是;或者我相信。一旦我把它拿走,从一页到另一页的过渡进展顺利。此外,它看起来像这样知道:
<div>
<%= link_to "Create new class", new_klass_path %>
</div>
如果这让任何人生气,我深表歉意。我非常感谢大家的帮助。我会尽快升级,给你们检查有用的答案。