我在movie_controller中添加了这个
def the_followers
@movie = Movie.find(params[:id])
@followings = @movie.followings.where(user_id: params[:user_id])
.page(params[:page]).per(10)
render layout: nil
end
the_followers是视图/电影/ the_followers中的文件名
在电影(查看)中,我添加了此内容。但是它没有用。为什么?
<% @followings.each do |following| %>
Username: <%= following.user.username %>
<% end %>
我有一个空白列表。我有想念吗?
答案 0 :(得分:0)
如果列表为空,您可能会有其他问题。尝试按照以下步骤找出问题所在。
删除范围
@followings = Following.all.paginate(page: 1, per_page: 100)
一个一个地添加它们
@followings = @movie.foollowings.all.paginate(page: 1, per_page: 100)
然后尝试
@followings = @movie.foollowings.where(user_id: params[:user_id]).paginate(page: 1, per_page: 100)
最终
@followings = @movie.followings.where(user_id: params[:user_id])
.page(params[:page]).per(10)
请自行检查数组在什么步骤变为空。
答案 1 :(得分:0)
您可以使用最简单的调试方法来定位问题。
def the_followers
@movie = Movie.find(params[:id])
# Check movie followings array is empty?
puts "---movie following num: #{@movie.followings.count}---"
# Check the user_id param is present?
puts "---user_id: #{params[:user_id]}---"
# Check movie followings with user_id is empty?
puts "---movie following with user_id num: #{@movie.followings.where(user_id: params[:user_id]).count}---"
@followings = @movie.followings.where(user_id: params[:user_id])
.page(params[:page]).per(10)
# Check the result is empty?
puts "---result num: #{@followings.count}---"
render layout: nil
end
如果一切正确,请检查视图代码。