我试图将动态属性保存到主干模型。
所以基本上question
的问题类型可能是"car"
或"house_type"
。
理想情况下,我想做这样的事情:
@appuser.save(question.get('question_type'): answer.get('answer_number'))
question.get('question_type')
动态转换为@appuser.save(car: answer.get('answer_number'))
或@appuser.save(house_type: answer.get('answer_number'))
我尝试question_type = question.get('question_type')
然后@appuser.save(question_type: answer.get('answer_number'))
,但实际上只是为appuser设置了question_type
。
我在Rails中如何执行此操作的一个示例是执行appuser.update_attributes("#{question_type}" => value)
,它会将question_type动态转换为car
或者你有什么。
有什么想法吗?
编辑:
我已经能够将这些值存储在字符串中并将其保存到question_type
并在我的服务器上正确解析。但我仍然希望找到一种动态处理它的方法。
答案 0 :(得分:1)
如果您查看.save
的{{3}},您会注意到您可以传递属性哈希值。
由于您可以使用动态键创建对象,因此您可以先创建要设置的数据,然后将其传递给.save
var attrs = {};
attrs[question.get('question_type')] = answer.get('answer_number');
@appuser.save(attrs);