-1

ItemsControllerから@interestedusers = User.itemfavorites.where(item_id: @item.id)にアクセスする際にちょっと私はこの問題を受けています:Railsの4エラー:NoMethodError - 未定義のメソッド `itemfavorites'

NoMethodError in ItemsController#show 
undefined method `itemfavorites' for #<Class:0xfb94bb8> 

ルート

resources :items do 
    get :itemfavorites, on: :member 
end 

ユーザーモデル

項目モデル

# Favorited by users 
has_many :favorite_items # just the 'relationships' 
has_many :itemsfavorited_by, through: :favorite_items, source: :user # the actual users favoriting an item 

一般的な関連は動作しますが、私はそれをテストし、私は追加/削除や表示のお気に入りことができます。

私はアイテムをお気に入りのユーザーを表示しようとしています。

お返事ありがとうございます!追加情報が必要な場合は教えてください。

答えて

2

Userクラスではなく、Userクラスでitemfavoritesを呼び出しています。アイテムのユーザーを取得するためにこれをしたい:

@interestedusers = @item.itemsfavorited_by 
+0

'current_user'の作品私はあなたが

@interestedusers = current_user.itemfavorites.where(item_id: @item.id) 

または

@interestedusers = @user.itemfavorites.where(item_id: @item.id) 

EDITのような何かをしたいと思います。問題は、ユーザー(モデル)を取得したいということです。あなたの提案した方法でアイテム(モデル)を取得します – Gugubaight

+0

ユーザーを取得ですか?どういう意味ですか? – Aleksey

+0

私がこれをループしている場合、自分のデータベースのユーザーテーブルにアクセスしたいと思っています。そのソリューションでは、アイテムテーブルにアクセスできます:) – Gugubaight

関連する問題