0

私のコードでは、Author has_many Books なので、次のようなことができます。

@author.books

著者が本を持っていない場合、@author.booksが呼び出されたときに、その著者の情報がすでに入力されているデフォルトの本オブジェクト (つまり、author_id) が必要です。たとえば、次のようになります。

class Author < ActiveRecord::Base
  has_many :books

  def books
    the_books || default_book
  end
end

これは明らかに実際のコードではありませんが、私がやろうとしていることを示しています。

4

1 に答える 1

0

どうですか:

class Author < ActiveRecord::Base
  has_many :books
  alias :__books__ :books

  def books
    result = __books__
    result.empty? ? default_books : result
  end

  private
  def default_books
    # ...
  end
end
于 2013-02-03T22:15:44.900 に答える