如何将url从ajax表单设置为特定操作?

时间:2014-03-26 16:58:32

标签: ruby-on-rails

我希望通过以下形式进行设置:

<%= form_for(:userrole, :remote => true, :url => ....) do %>

url所以,在控制器(“主题”)中的特定动作,例如save_userrole将被调用。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

<%= form_tag save_userrole_topic_path, remote: true do %>
...
<%- end %>

或者如果你有一个对象:

<%= form_for @userrole, remote: true, url: save_userrole_topic_path(@userrole do %>
....
<%- end %>

但通常你的路线中有一个休息资源,比如

resources :userroles

然后你结束了你的观点

<%= form_for @userrole, remote :true do %>
...
<%- end %>

将点击您的用户名控制器

中的操作保存

最后一个资源,您可以根据需要手动编写网址(尽管如果有路线,您根本不需要它)

<%= form_for @userrole, remote: true, url: '/topics/save_userrole' do %>
...
<%- end %>

答案 1 :(得分:0)

rake routes ,只需在表单中指定所需的控制器#操作的url + _path

例如:

$ rake routes
...
save_user_role    POST      /topic/:user_id    topic#save_userrole

<%= form_for(:userrole, remote: true, url: save_user_role_path) do %>