【发布时间】:2012-07-18 18:30:00
【问题描述】:
我对 Rails 很陌生,所以如果我忽略了简单的事情或 Rails 方式,请原谅我。我的目标是完全替换表单的 URL
/users/1
与
/username
用于所有目的。 (我认为公开暴露 ID 的脚手架就像在你的手臂上伸出一根骨头四处走动。)但实施似乎比我预期的要复杂一些。这似乎改变了 rails 索引和查找用户的整个方式,而不仅仅是替换查找方法。
虽然我已经在我的user.rb 文件中使用to_param 覆盖来实现此功能,但我已经阅读这意味着我将拥有indexing problems down 使用@ 时的道路987654335@,我不确定它会如何影响我的
(a) 新用户创建时的会话模型,以及
(b) @User 在 user/show.html.erb 文件中的使用。
所以,我已经查阅了以下页面(或提出了问题):
- Ruby on rails routing matching username
- customize rails url with username
- Routing in Rails making the Username an URL:
- routing error with :username in url
- Correct routing for short url by username in Rails
- rails3, clean url, friendly_id, sessions
我想从这个问题中理解的主要问题:
- 过渡到此功能会丢失哪些功能?也就是说,如果我追求这个替代品,我必须解决和重写哪些目前在 Rails 中“正常工作”的东西?
- 作为一种实践,用friendly_id 替换它是否更好?我在这里担心的是,在我的数据库中创建一个与用户名相同的 slug 列似乎有点不干,让我感到不舒服,我宁愿尽可能避免依赖外部 gem。
- 我的 users#show 需要是什么样的?
【问题讨论】:
标签: ruby-on-rails session url-rewriting url-routing friendly-id