私は反復でhas_manyリレーションから特定のデータを表示しようとしています。nullの「未定義メソッド」はなぜですか?Railsの文字列ですか?
RailsにはNull:Stringの未定義メソッドが表示されるのはなぜですか?
NoMethodError (undefined method `rated' for "shop_date is not null":String)
# controller Cast
def cast
@products = Product.all
@rating = Product.joins(:shops).where(:shops => ('shop_date is not null').rated.average(:b_rating) || 0)
end
# Model Shop
belongs_to :product
attr_accessible :b_rating,:product_id
scope :by_participant, -> { where('shop_date is not null').order('shop_date desc') }
scope :rated, -> { where('b_rating is not null') }
def self.average_rating
by_participant.rated.average(:b_rating) || 0
end
# Model Product
Has_many :shops
: 'ここで、( ) ' – DiodonHystrix
Diodon、かっこが正しい! – nakapaka1