我使用的是FriendlyId。 目前我用这种方式建立一个定制slu ::
class Photo < ActiveRecord::Base
extend FriendlyId
friendly_id :photo_by_author, :use => :slugged
def photo_by_author
"#{title} by #{user_id}"
end
belongs_to :user
end
我的slu it就像:/photo-title-by-7
而不是7
我希望获得username
user = 7
我该怎么做?
答案 0 :(得分:2)
<强>代表强>
好的旧.delegate
方法怎么样:
#app/models/photo.rb
Class Photo < ActiveRecord::Base
belongs_to :user
delegate :username, to: :user
end
这将允许您致电:
def photo_by_author
"#{title} by #{username}"
end