link_to controller_name 和操作名称无效

link_to with controller_name and action name not working

我正在努力将 rails 3.2 应用程序升级到 rails 4.2。我一直坚持一个问题。 link_to 控制器和动作名称不起作用

<%= link_to "Login", :controller => "user", :action => "login" %>

这是我要转换成rails4的link码。使用相同的方式。

这个方法我试过了

<%= link_to "Login", { controller: "user", action: "login" } %>

它给出的错误如下:

ArgumentError: wrong number of arguments (given 2, expected 0..1)

有没有人遇到过这个问题。我有 google 这个但没有解决这个问题。

尝试使用 controlleraction 作为选项,而不是在散列中:

<%= link_to 'Login', controller: 'user', action: 'login' %>

或者您也可以检查用户#login 的特定路由,并将其作为第二个选项传递。

我在看文档https://apidock.com/rails/v4.0.2/ActionView/Helpers/UrlHelper/link_to

<%= link_to "Profile", controller: "profiles", action: "show", id: @profile %>
# => <a href="/profiles/show/1">Profile</a>

你应该可以做到

<%= link_to "Login",  controller: "user", action: "login" %>