在我的 Rails 应用程序中,我尝试添加一个联系人用户弹出框,用于向用户发送电子邮件。
我有 javascript 来显示弹出表单,它本身就是一个部分。
当用户单击联系表单上的“提交”时,它会调用发送邮件的控制器操作。提交消息后,我想留在同一页面,但隐藏弹出框。我的问题是我无法获取传递邮件而不呈现其自己的视图的控制器操作。我试过
render nothing: true
但这只会呈现一个空白页面。
我的表格设置如下
= form_tag({:controller => 'users', :action => 'contact_user'}, :method => 'put') do
在我的路线配置中我有
resources :users
collection do
put 'contact_user'
end
如果您通过 AJAX 提交表单,则可以执行您想要执行的操作。
Adding :remote => true
您的表单将完成此操作:
= form_tag({:controller => 'users', :action => 'contact_user'}, :method => 'put', :remote => true) do
现在,表单提交将作为 AJAX 请求到达您的控制器。然后,您应该能够按照您的建议不渲染任何内容,或者甚至执行诸如渲染之类的操作.js.erb
执行一些 Javascript(例如,隐藏您正在谈论的弹出窗口)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)