Rails url_for没有找到Rake Routes中出现的路线?

时间:2010-12-02 02:52:09

标签: ruby-on-rails

我跟随rake路线:

user GET    /users/:id(.:format)                                     {:action=>"show", :controller=>"users"}

但是当我这样做时,对于电子邮件模板:

<%= link_to(@comment.user.full_name, user_url(:only_path => false), :style => 'color:#5196E3;text-decoration:underline;') %>

我收到以下错误:“ActionView :: Template :: Error(没有路由匹配{:action =&gt;”show“,:controller =&gt;”users“}):”

思考?感谢

2 个答案:

答案 0 :(得分:1)

如果你看路线,它需要:id来解析。所以你应该像这样为用户提供:

user_url(@comment.user, :only_path => false)

答案 1 :(得分:1)

这有时令人困惑。请注意,在rake输出中,路由引擎需要一个id。如果它没有得到,它不会识别路线。以下是您在控制器/视图中的操作方式:

user_url(@comment.user)

user_url(@comment.user.id)