骨干动态保存属性

时间:2016-02-24 05:14:23

标签: javascript backbone.js coffeescript marionette

我试图将动态属性保存到主干模型。

所以基本上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并在我的服务器上正确解析。但我仍然希望找到一种动态处理它的方法。

1 个答案:

答案 0 :(得分:1)

如果您查看.save的{​​{3}},您会注意到您可以传递属性哈希值。

由于您可以使用动态键创建对象,因此您可以先创建要设置的数据,然后将其传递给.save

var attrs = {};
attrs[question.get('question_type')] = answer.get('answer_number');
@appuser.save(attrs);