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],
、特定の映画ではなく、すべての映画のすべての好き嫌いの数が表示されます。
誰にもこれに対する答えがありますか?
ありがとう