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 回答