在link_to中传递参数

3

好的,这个问题可能听起来非常琐碎,但我似乎无法解决它。我只想在视图中使用link_to将一个参数:invite_code传递给与之无关的控制器。

视图:

<td><%= link_to 'Join', :action => 'invite', :invite_code => project.invite_code , :method => :post %></td>

路由:

match 'invite' => 'database#invite', :via => :post

数据库控制器:

def invite ...
  puts params
end

控制台上的调试输出如下:

{"_method"=>"post", "authenticity_token"=>"..........", "action"=>"invite", "controller"=>"database"}

除了无法传递参数外,一切都运行良好。我是新手,但已经卡在这里太久了。
谢谢!
1个回答

3

请尝试以下方法:

<%= link_to "Join", invite_path(invite_code: project.invite_code), method: :post %>

您可能需要更新您的路由器:

post 'invite' => 'database#invite', as: :invite

好的,我现在感到很惭愧。它完美地运行了。我真的不习惯Rails中所有这些开箱即用的魔法。 - RedSpy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接