在FriendlyId自定义slug的另一个模型中获取用户名

时间:2014-08-16 19:03:24

标签: ruby-on-rails ruby-on-rails-4 friendly-id

我使用的是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

我该怎么做?

1 个答案:

答案 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