在rails 3中动态获取模型属性
如何动态地从模型对象获取属性? 我将User对象的属性作为字符串:
u = User.find(1)
我可以做像u.get("user_id")
这样的事情u.get("user_id")
您可以尝试像散列一样使用ActiveRecord模型实例。
u = User.find(1) name = u[:name] field = "first_name" first_name = u[field]
另一种方法:
attr = :first_name @user.read_attribute attr
试试这个
user = User.find(1)
然后这样的事情应该做你需要的
user.send('field_name')
不确定我是否完全理解你的问题。 尝试以下方法:
User.find(1).name
如果你的意思是你只想从DB特定属性中获取,你可以这样做:
User.find(1,:select => :name)
试试这个
u = User.find(1) attr = "first_name" u.send(attr)