2

我不知道如何用谷歌搜索来表达这个 - 请原谅。如果我有这样的模型:

c = Color.all

我可以说:

c.Color[0].color_name

因此,如果我有一个包含该模型中字段名称的变量,例如:

b = 'color_name'

我怎么能像这样使用带有字段名称的字符串说 ("c.color_name"):

c[0].b  

或者,我的意思是告诉 Ruby/Rails 使用变量的内容作为字段名:

c[0].[the string value of b]

我摸索着尝试了所有我能想到的东西,但我无法弄清楚它的语法。

谢谢!

导轨 2.3.5 / Ruby 1.8.7

4

2 回答 2

7

如果b是 a 的实例变量或方法Color,请使用send来自的方法Object

c = Color.all
b = 'color_name'
c[0].send(b.to_sym)
于 2012-05-31T12:41:45.887 回答
0

我从来没有使用过这个版本的rails,但object['nameoffield']或者object.read_attribute('nameoffield')可能会工作。

于 2012-05-31T12:39:56.150 回答