如何迭代Ruby / Rails关系

时间:2013-03-18 03:51:17

标签: ruby arrays ruby-on-rails-3 object iteration

我有一个模型,FacebookProfile,有三列,a,b和c。

我通过执行以下操作来调用此对象:

@facebook_profile = FacebookProfile.find_by_facebook_id(1)

然后我可以访问列a,b和c

的每个值
@facebook_profile.a # result: 1
@facebook_profile.b # result: 2
@facebook_profile.c # result: 3

如果我有一个项目a,b和c的数组,我怎么能在@facebook_profile上调用它们?

我最好的猜测:

my_array = ["a", "b", "c"]
for i in my_array
  puts @facebook_profile.i
end

预期产出:1,2,3

我已经看到了迭代所有列的方法,但除了a,b和c之外我还有其他列,所以我认为这不会起作用。

1 个答案:

答案 0 :(得分:1)

我认为您可以使用send运算符来执行

my_array = ["a","b","c"]

for i in my_array
  puts @facebook_profile.send(i.to_sym)
end