Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.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更新_属性方法返回nil_Ruby On Rails_Ruby On Rails 3.1 - Fatal编程技术网

Ruby on rails rails更新_属性方法返回nil

Ruby on rails rails更新_属性方法返回nil,ruby-on-rails,ruby-on-rails-3.1,Ruby On Rails,Ruby On Rails 3.1,代码如下: def update if @user.update_attributes(params[:user]) redirect_to my_account_path else redirect_to account_path end end @user.update\u属性在验证失败但返回nil时应返回true或false 在模型上使用Rails 3.1.2和Ruby 1.9.2.attr\u可访问的设置 是否可以在模型上设置属性 有时当我遇到这样的问题时,

代码如下:

def update
  if @user.update_attributes(params[:user])
    redirect_to my_account_path
  else
    redirect_to account_path
  end
end
@user.update\u属性
在验证失败但返回
nil
时应返回
true
false


在模型上使用Rails 3.1.2和Ruby 1.9.2.

attr\u可访问的设置


是否可以在模型上设置属性


有时当我遇到这样的问题时,我会将更改
更新\u属性
更新为
更新\u属性--它可以强制引发立即异常,并可以准确指出返回的值是错误保存的原因

如果未保存数据,则应返回false.:

如果由于资源无效而导致保存失败,则将返回false

下面是rails源代码中的一段代码(请注意,
update\u attibutes
calls
save
在封面下):


因此,如果保存记录时出现问题,它特别返回
false
,而不是
nil

有时当我遇到这样的问题时,我会将
update\u attributes
更新为
update\u attributes--它可以强制引发立即异常,并可以准确指出返回的值是错误保存的原因

如果未保存数据,则应返回false.:

如果由于资源无效而导致保存失败,则将返回false

下面是rails源代码中的一段代码(请注意,
update\u attibutes
calls
save
在封面下):


因此,如果保存记录时出现问题,它特别返回
false
,而不是
nil

您可以尝试使用更新属性!在开发中,让Rails引发一个异常以查看错误。即使它返回
nil
,在这种情况下也不会导致问题,因为
nil
的计算结果为
false
@flooo,我已经尝试了
update\u属性
它还返回
nil
@andremarshall,即使验证通过,它也返回
nil
@Anup不返回。您或某个gem正在重写该方法,或该方法所依赖的某个方法(例如,
save
)但未正确执行。您可以尝试使用update\u属性!在开发中,让Rails引发一个异常以查看错误。即使它返回
nil
,在这种情况下也不会导致问题,因为
nil
的计算结果为
false
@flooo,我已经尝试了
update\u属性
它还返回
nil
@andremarshall,即使验证通过,它也返回
nil
@Anup不返回。您或某个gem正在重写该方法,或它所依赖的某个方法(例如,
保存
),但没有正确执行。是的,我使用了attr\u accessibleI是指attr\u accessible阻止您通过update\u属性进行设置吗?建议检查开发日志我使用了attr\u accessibleI意思是attr\u accessibleI会阻止您通过update\u属性进行设置吗?建议检查开发日志
def save(*)
  begin
    create_or_update
  rescue ActiveRecord::RecordInvalid
    false
  end
end