Как модель может обратиться к своему владельцу?
Учитывая занятия
Class Apple < ActiveRecord::Base
belongs_to :vendor
end
Class Vendor < ActiveRecord::Base
has_many :apples
def do_something
#access apple instance here???
end
end
apple_var = Apple.find(1)
apple_var.vendor.do_something()
По сути, мне нужно иметь возможность ссылаться на экземпляр Apple из метода внутри Vendor. Я попытался:inverse_of, но это, кажется, не то, что я хочу.
Я не уверен, как описать то, что я хочу сделать лучше. Я знаю, что могу передать себя методу do_something, но это очень грязно.
1 ответ
Вместо этого вы можете определить этот метод в Apple
класс, так как Apple belongs to Vendor
Вы можете легко получить объект продавца, связанный с яблоком
Class Apple < ActiveRecord::Base
belongs_to :vendor
def do_something
# access vendor associated with apple here
end
end
apple_var = Apple.find(1)
apple_var.do_something
или же
Идя своим путем, вы можете передать Apple ID в качестве аргумента
Class Apple < ActiveRecord::Base
belongs_to :vendor
end
Class Vendor < ActiveRecord::Base
has_many :apples
def do_something(apple_id)
#access apple instance here???
end
end
apple_var = Apple.find(1)
apple_var.vendor.do_something(apple_var.id)
Затем загрузите соответствующую запись Apple, используя apple_id