0

我有两个模型

  class Article < ActiveRecord::Base
    has_one :review
  end

  class Review < ActiveRecord::Base
    belongs_to :article
  end

现在我想在文章中有这个方法

  class Article < ActiveRecord::Base
    has_one :review

    def self.has_review?

    end

  end

我尝试过使用 .count、.size ......但我有错误......我该怎么做才能让以下代码正常工作

@article = Article.find(xxx)
if @article.has_revew?
 ....
else
 ...
end

我需要它的原因是因为如果有评论或没有评论,我将在视图或控制器中执行不同的操作

问候

4

1 回答 1

0
class Article < ActiveRecord::Base
  has_one :review

  def has_review?
    !!review
  end
end

这只是在实例上定义了一个方法(def self.method定义了一个类方法)。该方法尝试加载review. 如果review不存在,它将为零。!!只需将其反转两次,如果评论存在则返回 true,如果评论存在则返回 false nil

于 2012-08-02T22:36:55.287 回答