0

I've two models

  class Article < ActiveRecord::Base
    has_one :review
  end

  class Review < ActiveRecord::Base
    belongs_to :article
  end

Now I would like to have this method in Article

  class Article < ActiveRecord::Base
    has_one :review

    def self.has_review?

    end

  end

I've tried with .count, .size....but I've errors...how can I do to have the following code working

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

The reason why I need it is becaus I will have different action in views or controller, if there is one Review or none

Regards

4

1 に答える 1

0
class Article < ActiveRecord::Base
  has_one :review

  def has_review?
    !!review
  end
end

これは、インスタンスのメソッドを定義するだけです (def self.methodクラス メソッドを定義します)。メソッドは を読み込もうとしますreviewreviewが存在しない場合はnil になります。!!レビューが存在する場合は true を返し、レビューが の場合は false を返しますnil

于 2012-08-02T22:36:55.287 に答える