2012-11-28 61 views
0

我有一个模型:访问来自其他控制器嵌套模型

用户的has_many配方,配方belongs_to的用户

配方的has_many评论,评论belongs_to的配方

我的食谱是嵌套意见,我可以在没有问题的情况下访问Recipes_controller上的评论。

如果我尝试从用户访问它,我得到了未定义的方法错误。

我users_controller:从用户

@user = User.find(params[:id]) 
@recipes = @user.recipes.paginate(page: param[:page]) 
@comments = @user.recipes.comments 

如何访问评论?

回答

0

@ user.recipes是该用户所有食谱的数组。你必须选择一个特定的来调用“评论”。就像

@user.recipes.first.comments 
+0

在我的评论里面,我有一个评价,我想平均评价用户拥有的所有食谱。有没有办法做到这一点?我在配方中使用<%= @ recipe.rcomments.average(:rating)%> –

+0

看看这个问题的答案 - http://stackoverflow.com/questions/1341271/average-from-a -ruby阵列。你需要从中推断出来,因为你实际上是在一个嵌套数组中取平均值,并且你试图平均“comment.rating”而不是整数,但是这应该给你一个好的开始。 –