我有两个表,电影和喜欢。 电影has_many :likes, dependent: :destroy, foreign_key: "movie_id"
和一个像belongs_to :movie
Rails协会
在喜欢控制器 有两个动作:uplikes (where :vote=>1)
和dislikes (where :vote=>2)
在movies/show.html.erb
我显示uplikes的量和不喜欢的电影有 这样:
- 查看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')
这工作得很好。 现在我有什么问题,在索引操作调用时显示电影的好恶和uplikes量movies.each
我从def show
动作粘贴上面的控制器代码为def index
行动和改变params[:id]
到params[:movie_id]
但是,当我打电话
<%= @uplikes.size %>
<%= @dislikes.size %>
到视图,它只是显示0
如果我能在控制器摆脱:movie_id => params[:id],
,它就会显示所有uplikes的数量和不喜欢的所有的电影,而不是具体的一个。
任何人都有答案?
感谢
使用':vote => 1'而不是传递字符串':vote =>'1'' – MrYoshiji
不,这不会改变任何东西 – PMP
你怎么知道你想在索引动作中显示喜欢的影片?通常索引动作显示所有电影,并且通常不会带有ID参数 – Slicedpan