Ruby on rails 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_
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)
我还没有将参数列入白名单。。我的错