Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.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 4将update_属性(params.permit)与fix变量相结合_Ruby On Rails_Ruby On Rails 4_Activerecord - Fatal编程技术网

Ruby on rails Rails 4将update_属性(params.permit)与fix变量相结合

Ruby on rails Rails 4将update_属性(params.permit)与fix变量相结合,ruby-on-rails,ruby-on-rails-4,activerecord,Ruby On Rails,Ruby On Rails 4,Activerecord,通过API,我的模型通过以下调用得到更新: if @user.update_attributes(params.permit(:name, :phone, ...) format ... else format ... end 这是嵌套在另一个if查询中的,根据结果,我想在同一个模型中设置另一个变量。到目前为止,我是用 @user.update_attributes(variable: :value) 但这在我的桌子上写了两个字,我很确定这是可能的 合并成一个,但我不知道

通过API,我的模型通过以下调用得到更新:

if @user.update_attributes(params.permit(:name, :phone, ...)
    format ...
else 
    format ...
end 
这是嵌套在另一个if查询中的,根据结果,我想在同一个模型中设置另一个变量。到目前为止,我是用

@user.update_attributes(variable: :value)
但这在我的桌子上写了两个字,我很确定这是可能的 合并成一个,但我不知道如何合并。 这就是整个街区:

if test_for_something
   @user.update_attributes(variable: :value)
   if @user.update_attributes(params.permit(:name, :phone, ...)
     format ...
   else 
     format ...
   end 

提前谢谢大家

值添加到许可散列中,然后只运行一次update\u属性

只要确保这个字段是允许的

这只是一个你如何做到这一点的例子:

编辑:

params[:value] = value
如果嵌套在模型名称中,则:

params[:model][:value] = value
然后:


希望能对您有所帮助。

我在回答中添加了一个示例Works完美无瑕!谢谢你的例子
@user.update_attributes(params.permit(:name, :phone, :value, ...)