我有一个链接,需要在点击时显示隐藏的Div。
为此,我正在使用:
<%=link_to video.title,display_path(:format=>:js,:id=>video.id),:remote=>true%>
在控制器中我有:
def display
@video=Video.find(params[:id])
respond_to do |format|
format.js
end
end
在js.erb中,我有,
$('#vid_<%=@video.id%>').fadeIn('slow');
但是当我运行应用程序时,单击链接后,js.erb将呈现为文本。它只显示:
$('#vid_<%=@video.id%>').fadeIn('slow');
答案 0 :(得分:0)
答案 1 :(得分:0)
你正在做的一切正确,但你可以改善你的代码
<强>视图强>
# use spaces to ident all this stuff and write less if it is possible:
<%= link_to video.title, [:display, video], :remote => true %>
<强>控制器强>
class VideosController < ApplicationController
respond_to :html, :js
...
def display
@video=Video.find(params[:id])
respond_with @video
end
...
end
<强> display.js.erb 强>
$('#vid_<%= @video.id %>').fadeIn('slow');
请确保您已安装jQuery:
rails g jquery:install
并将其包含在您的应用程序布局文件中。
<%= javascript_include_tag :defaults %>
答案 2 :(得分:0)
好的我找到了解决方案。我犯了一个愚蠢的错误。我忘了在创建App时跳过原型。当我尝试使用Jquery时,这会造成麻烦。现在一切都很好。