Ruby on rails 当Model.all来自Model.find_by时,rails中的每个方法的作用都不同

Ruby on rails 当Model.all来自Model.find_by时,rails中的每个方法的作用都不同,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,当我获得@variables时: @variables = Variable.all 我能行 @variables.each do |variable| 很好,但当我用find_by找到它时,就像这样: @variables = Variable.find_by_user_id(user.id) 我得到一个每个方法未找到的错误 find_by_字段方法返回一条记录,您无法对其进行迭代 你想要的是 Variable.where(:user_id => user.id) 或 或者(假设

当我获得@variables时:

@variables = Variable.all
我能行

@variables.each do |variable|
很好,但当我用find_by找到它时,就像这样:

@variables = Variable.find_by_user_id(user.id)

我得到一个每个方法未找到的错误

find_by_字段方法返回一条记录,您无法对其进行迭代

你想要的是

Variable.where(:user_id => user.id)

或者(假设您已正确设置关联)

Variable.find_all_by_user_id(user.id)
user.variables