2

has_and_belongs_to_many学生
学生has_and_belongs_to_many书籍Rails3中has_and_belongs_to_many定制

在BooksStudents模式,我想添加“状态”字段来存储,如果是租来的,买了..等。并能够选择例如@student.books.rented@student.books.where(:books_students=>{:status=>2})

我可以使用HABTM吗?

回答

3

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)

+0

我虽然有可能是一个办法做到这一点:S反正我已经开始使用'has_many:through'实现它。谢谢 – wael34218 2011-06-08 09:34:38