get model attribute dynamically in rails 3
问题 How can I get the attribute from the model object dynamically? I have the attribute of the User object as string: u = User.find(1) Can I do something like u.get("user_id") 回答1: You could try using the ActiveRecord model instance like a hash. u = User.find(1) name = u[:name] field = "first_name" first_name = u[field] 回答2: Yet another approach: attr = :first_name @user.read_attribute attr 回答3: Try this user = User.find(1) then something like this should do what you require user.send('field_name