Я использую Active Record с Rails 3. У меня есть класс User, имеющий has_many Categories.Я хотел бы создать экземпляры категорий от пользователя, который использует тот же пользовательский экземпляр в памяти.
Поведение Active record по умолчанию создает новый экземпляр пользователя для каждой категории.Есть ли способ изменить это поведение?
Вот некоторые фрагменты моего кода.Вы можете заметить, что я пытался использовать: inverse_of, без успеха ...
class Category < ActiveRecord::Base
attr_accessor :name
attr_accessible :name, :user
belongs_to :user, :inverse_of => :categories
end
class User < ActiveRecord::Base
attr_accessor :key
attr_accessible :categories, :key
has_many :categories, :inverse_of => :user
end
У меня есть следующая спецификация для проверки желаемого поведения:
user = User.first
user.key = @key # key is an :attr_accessor, not mapped to db
category = user.categories.first
category.user.key.should == user.key # saddly, it fails.. :(
Есть предложения?
Спасибо, что прочитали мой вопрос!