0

我有一个模型,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 之外,我还有其他列,所以我认为这行不通。

4

1 回答 1

1

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

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

for i in my_array
  puts @facebook_profile.send(i.to_sym)
end
于 2013-03-18T03:59:25.917 回答