使用动态哈希Rails update_attributes

时间:2016-07-11 10:16:07

标签: ruby-on-rails ruby ruby-on-rails-4 hash

我有一个rails应用程序,我正在尝试使用哈希中获得的属性更新模型。

我的代码是:

attr_hash = {"name"=>"cat_name"}

@category.update_attributes(attr_hash, :type => 'sample')

以下是我想要修复的类型,attr哈希可以是表单提交的任何属性。但这给了我一个错误。有什么想法吗?

1 个答案:

答案 0 :(得分:4)

attr_hash = {"name"=>"cat_name"}

@category.update_attributes(attr_hash.merge(type: "sample"))

(因为update_attributes只接受一个哈希)

说明:

目前你正在通过这个:

update_attributes({"name"=>"cat_name"}, {type: "sample"})

但你想要这个:

update_attributes({"name"=>"cat_name", type: "sample"})

所以你需要合并这两个哈希值。