#ruby-on-rails #ruby-on-rails-3 #activerecord #has-and-belongs-to-many
#ruby-on-rails #ruby-on-rails-3 #activerecord #имеет-и-принадлежит-многим
Вопрос:
Заказывайте has_and_belongs_to_many
студентам
студенческие has_and_belongs_to_many
книги
В модели BooksStudents я хочу добавить поле «статус» для хранения, если оно арендовано, куплено .. и т.д. и иметь возможность выбирать, например @student.books.rented
или @student.books.where(:books_students=>{:status=>2})
Могу ли я сделать это с помощью HABTM?
Ответ №1:
AFAIK нет, вам понадобится настройка has_many: через..
class Book < ActiveRecord::Base
has_many :books_students
has_many :students, :through => :books_students
end
class BooksStudent < ActiveRecord::Base
belongs_to :book
belongs_to :student
end
classStudent < ActiveRecord::Base
has_many :books_students
has_many :books, :through => :books_students
end
итак, вы можете сделать что-то вроде @student.books
или @student.student_books.where(:status =>2)
Комментарии:
1. Я думал, что может быть способ сделать это: В любом случае, я уже начал внедрять его с помощью
has_many :through
. Спасибо