我正在努力将rails 3.2 app升级到rails 4.2。我坚持一个问题。 link_to与控制器和操作名称不起作用
<%= link_to "Login", :controller => "user", :action => "login" %>
这是我想要转换为rails 4代码的链接。使用相同的方式。
我试过这种方式。
<%= link_to "Login", { controller: "user", action: "login" } %>
它的误差低于:
ArgumentError: wrong number of arguments (given 2, expected 0..1)
是否有人遇到过此问题。我有谷歌,但没有解决这个问题。
答案 0 :(得分:1)
尝试使用controller
和action
作为选项,而不是哈希:
<%= link_to 'Login', controller: 'user', action: 'login' %>
或者您也可以检查用户#login的具体路线,并将其作为第二个选项传递。
答案 1 :(得分:1)
我正在查看文档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" %>