1
我有一个Ruby on Rails应用程序,我希望能够动态选择要返回到数据库的字段。这就是我的意思:如何动态选择字段在Rails中返回
假设我有一个名为Dog的数据库表,该表的字段为“id”,“name”,“color”。
如果我想狗#7S的名字,我能明显只是做:
d = Dog.find(7)
the_output = d.name
不过,我想要做的就是动态地选择回什么领域狗#7。因此,假设我已经定义:
the_field = "name"
我希望能够做一些事情,如呼叫:
d.(the_field)
,并使其返回的狗的名字。 (我在这里使用括号,因为在MATLAB中,你可以这样做(我一直都在这样做),它可以工作,但在Rails中不起作用。)这样做的明显优点是,我可以在其他地方程序集the_field = "color"
,并有我相同的代码返回狗的颜色,而不是名称。
我试着这样做:
Dog.find(d.id, :select=>the_field)
但返回一个Dog对象,不只是含有狗的名字的字符串。而且,由于在代码中,我不知道哪个字段被调用,我不知道如何只提取包含我想要的字段的字符串。
所以希望这一切都有道理,并希望有一些人知道如何做到这一点。
谢谢!
Q
艾哈! `send()`命令正是我所需要的。辉煌。谢谢。 – Quad 2011-02-03 01:06:01