Rails在for循环中更改变量名称

时间:2016-10-24 03:02:34

标签: ruby-on-rails

我的Student表中的Rails应用中有5个字段,例如food_desc_onefood_desc_two等,一直到五个。我正在我的学生控制器中编写一个方法,它循环检查空值。我认为最好的方法是使用for循环,所以我做了以下内容:

for i in 0..5
  if student.food_desc_"#{in_words(i)}" != ''
    . . .
  end
end

其中in_words是我之前定义的辅助方法。但是,我得到错误undefined method 'food_desc_' for #<Student:0x0000000b2e75d8>,我认为这是因为我试图在变量的末尾附加数字..还有另一种方法来实现这一点吗?或者我是否必须单独检查每个字段?感谢所有帮助!

1 个答案:

答案 0 :(得分:0)

尝试:

student.send("food_desc_#{in_words(i)}")