当Model.find_by中的Model.all时,rails中的每个方法都有不同的作用

时间:2012-05-31 00:41:51

标签: 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)

我得到每个方法都找不到错误

1 个答案:

答案 0 :(得分:2)

find_by_field方法返回单个记录,您无法迭代。

你想要的是

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

Variable.find_all_by_user_id(user.id)

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

user.variables