Rails创建has_record?对于嵌套模型

时间:2012-08-02 22:20:02

标签: ruby-on-rails-3 rails-models

我有两个模特

  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

我之所以需要它是因为我会在视图或控制器中有不同的动作,如果有一个评论或没有

此致

1 个答案:

答案 0 :(得分:0)

class Article < ActiveRecord::Base
  has_one :review

  def has_review?
    !!review
  end
end

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