簡體   English   中英

如何將額外的參數傳遞給 link_to 遙控器?

[英]How can I pass an extra parameter to a 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 參數? 我不想使用 forms。

*_path助手接受 hash 選項到 append 作為查詢字符串的路徑。

在您的示例中,假設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

但是,這可能不是解決此問題的正確方法。 看起來您可能應該在 controller 中有不同的操作,以及特定於添加或忽略的路由。 您必須在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 %>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM