1

Movies と Likes という 2 つのテーブルがあります。映画has_many :likes, dependent: :destroy, foreign_key: "movie_id"などbelongs_to :movie

Likes コントローラーには、次の 2 つのアクションがありますuplikes (where :vote=>1)dislikes (where :vote=>2)

では movies/show.html.erb、映画の高評価と低評価の量を示しています。

  • show.html.erb を表示

<%= @uplikes.size %>

<%= @dislikes.size %>

  • コントローラdef show

@uplikes = Like.where(:movie_id => params[:id], :vote => '1')

@dislikes = Like.where(:movie_id => params[:id], :vote => '2')

これはうまくいきます。今私が問題を抱えているのは、movies.eachを呼び出すときにIndexアクションで映画の嫌いなものと好きなものの量を表示することです

上記のコントローラーコードをdef showアクションからアクションに貼り付け、次のようdef indexに変更params[:id]しましたparams[:movie_id]

しかし、私が電話するとき

<%= @uplikes.size %>

<%= @dislikes.size %>

ビューには、0が表示されるだけです

コントローラーで取り除くと:movie_id => params[:id],、特定の映画ではなく、すべての映画のすべての好き嫌いの数が表示されます。

誰にもこれに対する答えがありますか?

ありがとう

4

1 に答える 1