我似乎很难从带有参数的网址中获取用户名,但在查找ID时会有效。
要从此网址获取ID:options
,您可以使用:
www.foo.com/users/1/post/new
我认为我可以为User.find(params[:id]) # same as User.find(1)
www.foo.com/users/joe/post/new
如何使用User.find_by(name: params[:name])
或find
方法从带有参数的网址中获取用户的名称?感谢
答案 0 :(得分:0)
在User
模型中,覆盖to_param
方法,如下所示:
def to_param
name
end
使用此代码,您将覆盖ActiveRecord默认行为,因此当您链接到用户时,它会使用name
作为参数而不是id
。
另外,我建议你看一下friendly_id gem,用它来实现这个目标。