用传递的值更新参数

时间:2019-06-24 16:01:46

标签: ruby-on-rails ruby

我想创建一个通用方法来更新模型的某些参数。

示例:

@parameter = "name"

User.update(@parameter: "new name here")

因此,在这里我想用“此处新名称”值更新“名称”列。但是这种方法不起作用。关于我应该怎么做的任何想法?

1 个答案:

答案 0 :(得分:1)

仅当键是源代码中的文字时,才可以使用{ x: foo }哈希语法(如该示例中的:x)。如果要使用变量的值作为哈希的键,则必须使用旧式的hashrocket语法,如下所示:

  User.update(@parameter => "new name here")

(严格来说,这不是唯一的方法,有关更多信息,请参见以下答案:Creating a hash key from a variable in Ruby?