ruby-on-rails - 具有动态哈希的 Rails update_attributes

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

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

我的代码是:

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

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

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

最佳答案

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"})

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

关于ruby-on-rails - 具有动态哈希的 Rails update_attributes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38304422/

相关文章:

ruby-on-rails - 无法通过另一个模型访问强参数。 rails 4

ruby-on-rails - 如何验证ERB或捕获ERB语法错误

javascript - 动态嵌套模型字段上的 Rails JavaScript 验证

ruby SSL 代理(MITM)

ruby:调用实例方法而不使用实例

ruby-on-rails - 更新到 gem 1.8.1 时出现 ruby​​onrails 错误

css - 为什么保存 .scss 文件会在 Rails 4 中创建一个 .css 文件?

ruby-on-rails - 密码更新时出现未经授权的错误设计

javascript - Jquery 验证插件的 select 标记顶部的错误放置

ruby-on-rails - RSpec 测试 Controller 操作创建不影响测试数据库