我无法弄清楚在一行中为我的控制器写这个where语句的正确方法.
我在这里错过了什么?
@food_ranks = FoodRank.where("user_id = ? AND rank = ?", current_user.id, [0, 1, 2])
Run Code Online (Sandbox Code Playgroud)
这是我尝试用3行写的.
@food_ranks = Array.new(FoodRank.where("user_id = #{current_user.id} AND rank = 0"))
@food_ranks << FoodRank.where("user_id = #{current_user.id} AND rank = 1")
@food_ranks << FoodRank.where("user_id = #{current_user.id} AND rank = 2")
Run Code Online (Sandbox Code Playgroud)
@food_ranks正确显示这样的对象.为什么现在不让我这样做呢?
@food_rank each do |rank|
rank.user_id
end
Run Code Online (Sandbox Code Playgroud)
是@food_ranks字面意思是where声明吗?(未定义的方法)
ruby activerecord ruby-on-rails ruby-on-rails-3 ruby-on-rails-4