2012-11-28 62 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」而不是整數,但是這應該給你一個好的開始。 –