我正在构建一个简单的图书签出应用程序。我需要做的一件事是确定一本书是否已签出。我通过 book_check_out 类设置了我的人员和书籍类之间的关联。我的目标是使用 book 的 checked_out 属性来确定当前是否已签出一本书。然而,在我目前的实现中,当一本书没有被签出并且我参考 book.checked_out.XXX 我收到错误“你没想到它有一个 nil 对象! ”我的目标是使用 book.checked_out 两个在某些视图中,目的表明是的,该书已被签出,而在其他视图中,则显示当前已签出给谁。
class Person < ActiveRecord::Base
has_many :book_check_outs
has_many :books, :through => :book_check_outs
end
class Book < ActiveRecord::Base
has_many :book_check_outs
has_many :people, :through => :book_check_outs
def checked_out
book_check_outs || false
end
end
class BookCheckOut < ActiveRecord::Base
belongs_to :book
belongs_to :person
end