簡単な本のチェックアウトアプリケーションを構築しています。私がしなければならないことの 1 つは、本がチェックアウトされているかどうかを判断することです。book_check_out クラスを介して、人々と本のクラスのセットアップとの間の関連付けを行っています。私の目標は、 book の checked_out プロパティを使用して、本が現在チェックアウトされているかどうかを判断することです。ただし、本がチェックアウトされておらず、book.checked_out.XXX を参照している場合の現在の実装では、「予期していなかったときに nil オブジェクトがあります!」というエラーが表示されます。一部のビューの目的は、はい、その本がチェックアウトされていることを示し、他のビューでは、現在誰にチェックアウトされているかを示します。
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