我对rails很陌生,所以如果我忽略了简单的事情或rails方式,请原谅我。我的目标是完全替换表单的 URL
/users/1
和
/username
用于所有目的。(我认为公开暴露 ID 的脚手架就像在你的手臂上伸出一根骨头四处走动。)但实施似乎比我预期的要复杂一些。这似乎改变了 rails 索引和查找用户的整个方式,而不仅仅是替换查找方法。
虽然我已经to_param
在我的文件中使用覆盖来实现这个功能user.rb
,但我已经读过这意味着我在使用时会遇到索引 问题 ,而且我不确定它会如何影响我的params([:username])
(a) 新用户创建时的会话模型,以及
(b) user/show.html.erb 文件中的@User 用法。
因此,我已经查阅了以下页面(或提出了问题):
- Ruby on rails 路由匹配用户名
- 使用用户名自定义 rails url
- Rails 中的路由使用户名成为 URL:
- 路由错误:url 中的用户名
- 在 Rails 中按用户名正确路由短 url
- rails3,干净的 url,friendly_id,会话
我想从这个问题中了解的主要问题:
- 过渡到这个我会失去什么功能?也就是说,如果我追求这个替换,我必须解决和重写哪些目前在 Rails 中“正常工作”的东西?
- 作为一种做法,用friendly_id替换是否更好?我在这里担心的是,在我的数据库中创建一个与用户名相同的 slug 列似乎有点不干燥,让我感到不舒服,我宁愿尽可能避免依赖外部 gem。
- 我的 users#show 需要是什么样的?