Похоже, что вы нормализовали модели User
и Book
, добавив ссылку на модель Instance
. Вы можете избежать избыточной ссылки, если у вас нет конкретной причины.
Я бы переписал ваши модели следующим образом:
class Instance < ActiveRecord::Base
has_many :users
has_many :books, :through => :users, :order => "created_at DESC"
end
class User < ActiveRecord::Base
belongs_to :instance
has_many :books, :order => "created_at DESC"
end
class Book < ActiveRecord::Base
belongs_to :user
has_one :instance, :through => :user
end
Теперь создайте новую книгу для пользователя.
current_user.books.build(...)
Чтобы получить список книг, принадлежащих экземпляру пользователя:
current_user.instance.books
Чтобы получить список книг, созданных пользователем:
current_user.books
Убедитесь, что вы индексировали столбец instance_id
в таблице users
и столбец user_id
в таблице books
.