我有两张桌子,电影和喜欢。一部电影之has_many :likes, dependent: :destroy, foreign_key: "movie_id"
类的belongs_to :movie
在 Likes 控制器中有两个动作:uplikes (where :vote=>1)
和dislikes (where :vote=>2)
在 movies/show.html.erb
I 中显示了这部电影的喜欢和不喜欢的数量,因此:
- 查看 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时在索引操作中显示电影的不喜欢和喜欢的数量
我已将上述控制器代码从def show
动作粘贴到def index
动作并更改params[:id]
为params[:movie_id]
但是当我打电话时
<%= @uplikes.size %>
<%= @dislikes.size %>
到视图,它只显示 0
如果我:movie_id => params[:id],
在控制器中删除,它会显示所有电影的所有喜欢和不喜欢的数量,而不是特定的电影。
有人对此有答案吗?
谢谢