我before_filter
在我的 Rails 应用程序中有一个发送用户,login_url
如果他们在提交请求(以 html 或 js 格式)时注销。
我希望我format.js
产生与 相同的结果format.html
,在以下情况下以“通知”布局呈现视图。我怎样才能做到这一点?
respond_to do |format|
format.js
format.html{ render :layout => "notice" }
end
我before_filter
在我的 Rails 应用程序中有一个发送用户,login_url
如果他们在提交请求(以 html 或 js 格式)时注销。
我希望我format.js
产生与 相同的结果format.html
,在以下情况下以“通知”布局呈现视图。我怎样才能做到这一点?
respond_to do |format|
format.js
format.html{ render :layout => "notice" }
end
您可以强制使用这样的可用格式:
respond_to do |format|
format.js { render :layout => "notice", :formats => [:html] }
format.html { render :layout => "notice" }
end
编辑:
您需要的是文档的某些部分被响应替换。这是通过使用完成这项工作的 javascript 响应来完成的:
在您的控制器中:
respond_to do |format|
format.js
format.html { render :layout => "notice" }
end
在您的 login.js 视图中:
$('#whatever').html('<%= escape_javascript( render :login, formats: [ :html ]) %>')
...或类似的东西