我遇到了一个问题,无法在rails3中呈现Javascript(如果这是相关的话,我使用JQuery,在应用程序的许多其他部分中也可以正常使用),而不是html。
我有:
在视图中,我有这个链接:
<%= link_to 'Edit', edit_user_repreneur_path(@user_repreneur, :format => :js), :remote => true %>
首先,我不太明白为什么我需要添加: format =>:js才能让控制器使用JS视图而不是HTML视图。 以下是控制器的代码:
def edit
@user_repreneur = UserRepreneur.find_by_id_view(params[:id])
respond_to do |format|
format.js
format.html
end
end
在控制器类的开头,我有这一行代码:
respond_to :js, :html
我的edit.js.erb文件只包含一行警告信息。 然而,在渲染页面时,JS被呈现为文本,因此无法执行。 我尝试将format.js行更改为
format.js { render :layout => false }
但这并没有改变什么。
我想我可能缺少了什么,但我真的看不出来是什么...
提前感谢您的帮助,谢谢!
PS:我不知道这是否有帮助,但在我的链接助手中添加:format => :js之前,视图总是以HTML格式呈现,如果我注释掉format.html行,则服务器端会出现406不可接受的错误。