ruby on rails-如何将额外的参数传递给link_to remote



给定以下条件:

<%= link_to "Add", group_request_path(gr), :confirm => "Are you sure?", :method=> :put, :remote => true %>
<%= link_to "Ignore", group_request_path(gr), :confirm => "Are you sure?", :method=> :put, :remote => true %>

如何在上面的link_to中传递带有add或ignore的决策参数?有没有一个选项可以用link_to添加URL参数?我不想使用表格。

*_path助手接受一个选项散列,作为查询字符串附加到路径中。

在您的示例中,假设group_request_path(gr)输出类似于/group_requests/123的内容,您可以添加一个具有如下添加/忽略操作的查询字符串:

group_request_path(gr, :action => 'add') # /groups_requests/123?action=add

group_request_path(gr, :add => 1) # /groups_requests/123?add=1

然而,这可能不是正确的做法。看起来您可能应该在控制器中有不同的操作,以及特定于添加或忽略的路由。您必须在config/routes.rb中添加以下内容:

put 'group_requests/:id/add'    => 'groups_requests#add',    :as => :add_group_request
put 'group_requests/:id/ignore' => 'groups_requests#ignore', :as => :ignore_group_request

然后你的链接变成

<%= link_to "Add", add_group_request_path(gr), :confirm => "Are you sure?", :method=> :put, :remote => true %>
<%= link_to "Ignore", ignore_group_request_path(gr), :confirm => "Are you sure?", :method=> :put, :remote => true %>

相关内容

  • 没有找到相关文章

最新更新