ssc*_*rus 4 ajax controller ruby-on-rails ruby-on-rails-3
我有一个before_filter
在我的Rails应用程序中,login_url
如果用户在提交请求时以html或js格式注销,则会向用户发送.
我希望我format.js
能够生成相同的结果format.html
,在下面的例子中,使用'notice'布局渲染视图.我怎样才能做到这一点?
respond_to do |format|
format.js
format.html{ render :layout => "notice" }
end
Run Code Online (Sandbox Code Playgroud)
你可以强制使用这样的可用格式:
respond_to do |format|
format.js { render :layout => "notice", :formats => [:html] }
format.html { render :layout => "notice" }
end
Run Code Online (Sandbox Code Playgroud)
编辑:
您需要的是文档的某些部分被响应替换.这是通过使用执行该作业的javascript响应来完成的:
在你的控制器中:
respond_to do |format|
format.js
format.html { render :layout => "notice" }
end
Run Code Online (Sandbox Code Playgroud)
在您的login.js视图中:
$('#whatever').html('<%= escape_javascript( render :login, formats: [ :html ]) %>')
Run Code Online (Sandbox Code Playgroud)
......或类似的东西