Rails 3:使用匹配规则重新映射 user_path 路由
我的路线文件中有这样的内容:
resources :users
match '/@:id' => 'users#show'
当我转到 /@radeks
时,就像我转到 /users/radeks
一样。但是,我在视图中使用 user_path
,但这指向我不想要的 /users/radeks
。
如何使 user_path
始终指向 /@:id
?
编辑
我的用户模型中也有这个:
def to_param
name
end
I have got this in my routes file:
resources :users
match '/@:id' => 'users#show'
When I go to /@radeks
then it would be the same as if I would go to /users/radeks
. However, I use user_path
in my views, but this points to /users/radeks
which I don't want.
How can I make user_path
always point to /@:id
?
Edit
I also have got this in my User model:
def to_param
name
end
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
:as 参数使其成为“命名路由”。请参阅http://guides.rubyonrails.org/routing.html#naming-routes 了解更多信息。
请注意,您将覆盖从“资源:用户”自动获取的默认“用户”命名路由
The :as argument makes this a "named route". See http://guides.rubyonrails.org/routing.html#naming-routes for more info.
NB that you're overriding the default 'user' named route you get automagically from 'resources :users'