我有一个User
模型女巫,我已经覆盖了该to_param
方法。
我是这样设计的:
class User < ActiveRecord::Base
def to_param
if self.id < 100
if self.id < 10
s = "00#{self.id}"
else
s = "0#{self.id}"
end
else
s = "#{self.id}"
end
return "usr-#{s}"
end
end
在我的控制器上:
user = User.find(params[:id])
@title = user.name
问题是...我无法获得任何用户...
如果我将to_param
方法更改为:return "#{s}-usr"
它简单地忽略-usr
并搜索 id 而不采取-usr
我已经尝试了 after_save 过滤器,但我可以在那里更改属性。
如何根据用户的 id 为用户创建唯一的 id?