Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails使用动态哈希更新_属性_Ruby On Rails_Ruby_Ruby On Rails 4_Hash - Fatal编程技术网

Ruby on rails Rails使用动态哈希更新_属性

Ruby on rails Rails使用动态哈希更新_属性,ruby-on-rails,ruby,ruby-on-rails-4,hash,Ruby On Rails,Ruby,Ruby On Rails 4,Hash,我有一个rails应用程序,在其中我试图用散列中得到的属性更新模型 我的代码是: attr_hash = {"name"=>"cat_name"} @category.update_attributes(attr_hash, :type => 'sample') 这里是我想要的类型将是固定的,attr散列可以是表单submit上的任何属性。但这给了我一个错误。有什么想法吗 attr_hash = {"name"=>"cat_name"} @category.update_

我有一个rails应用程序,在其中我试图用散列中得到的属性更新模型

我的代码是:

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

@category.update_attributes(attr_hash, :type => 'sample')
这里是我想要的类型将是固定的,attr散列可以是表单submit上的任何属性。但这给了我一个错误。有什么想法吗

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

@category.update_attributes(attr_hash.merge(type: "sample"))
(因为
update\u attributes
只接受一个散列)

说明:

当前您正在通过以下步骤:

update_属性({“name”=>“cat_name”},{type:“sample”})

但是你想要这个:

update_属性({“name”=>“cat_name”,键入:“sample”})


因此,您需要合并这两个哈希。

在尝试将哈希变量放入更新方法时,我得到了ActiveModel::BankedenAttributeError。您的@category是否有
名称以及
类型
列?请共享整个控制器代码。我想你不需要你想要通过的参数。。您有类似于:
params[“category”][“name”]
的内容,但您必须这样获得:
params.require(:category).permit(:name)
我还没有将参数列入白名单。。我的错