ruby on rails - What method will return ActiveRecord owner object from class method? -
let's have users have items:
class user < activerecord::base has_many :items end
class item < activerecord::base belongs_to :user end
now want add class method item customized record creation:
def self.create_personalized create description: "#{user.name}' item" end
but of course, since class method, user
undefined. if call using user.items.create_personalized
, there associated user via relationship. know item.create_personalized
aware of user because works:
def self.create_personalized item = create item.update_attribute :description, "#{item.user.name}'s item" end
but that's not best way access owner object. correct method?
if do
item.scope_attributes
then you'll hash of attributes current scope apply item. these ones extracted scope if called create
. these db level attributes you'll user id rather user itself.
Comments
Post a Comment