Rails 3:使用匹配规则重新映射 user_path 路由

发布于 2024-10-20 11:24:31 字数 388 浏览 2 评论 0原文

我的路线文件中有这样的内容:

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

〃安静 2024-10-27 11:24:31
match '/@:id' => 'users#show', :as => 'user'

:as 参数使其成为“命名路由”。请参阅http://guides.rubyonrails.org/routing.html#naming-routes 了解更多信息。

请注意,您将覆盖从“资源:用户”自动获取的默认“用户”命名路由

match '/@:id' => 'users#show', :as => 'user'

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'

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文