У меня проблема с пониманием того, как атрибуты «отправляются» на вложенную модель (ы), и если это возможно для модели с виртуальным attrubute тоже. У меня есть три модели:Rails вложенные модели и инициализация виртуальных атрибутов
class User < ActiveRecord::Base
...
has_and_belongs_to_many :clearancegoods
has_many :clearanceitems, through: :user_clearanceitems_descriptions
has_many :user_clearanceitems_descriptions
...
end
class Clearanceitem < ActiveRecord::Base
...
has_many :users, through: :user_clearanceitems_descriptions
has_many :user_clearanceitems_descriptions
accepts_nested_attributes_for :user_clearanceitems_descriptions
...
def user_id
@user_id
end
def user_id=(val)
@user_id = val
end
end
class UserClearanceitemsDescription < ActiveRecord::Base
belongs_to :user
belongs_to :clearanceitem
end
в консоли:
desc = User.find(5).user_clearanceitems_descriptions.new
desc.user_id
### result is 5
item = User.find(5).clearanceitems.new
item.user_id
### result in nil
Вы должны уточнить, что вы пытаетесь выполнить с добавленным атрибутом user_id. – depquid