我的关联如下:
konkurrancer属于Kategori
Kategori有很多konkurrancer。
在我的konkurrances表中我有:
rating_score
ratings
class KategorisController < ApplicationController
def show
@kategori = Kategori.where(:cached_slug => params[:id]).first
// Does not work
@rating = @kategori.konkurrancers.rating_score / @kategori.konkurrancers.ratings
end
end
我在视图中得到这个错误:
NoMethodError in KategorisController#show
undefined method `rating_score' for #<Class:0x5f3e590>
列ratings保存了评级的数量rating_score保存评分
我想区分这两列如下:rating_score/ratings
如何在控制器中创建这个?
由于kategori
有多个konkurrancers
,所以konkurrancer是一个数组。您需要定义您使用rating_score
你应该试试:
@kategori.konkurrancers[0].rating_score
上面的代码只会工作,如果你至少有一个@kategori.konkurrancers
当然
@rating = 0
@kategori.konkurrancers.each do |k|
@rating += k.rating_score
end
@rating /= @kategori.konkurrancers.count