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
callssave
在封面下):
因此,如果保存记录时出现问题,它特别返回false
,而不是nil
有时当我遇到这样的问题时,我会将update\u attributes
更新为update\u attributes代码>--它可以强制引发立即异常,并可以准确指出返回的值是错误保存的原因
如果未保存数据,则应返回false.:
如果由于资源无效而导致保存失败,则将返回false
下面是rails源代码中的一段代码(请注意,update\u attibutes
callssave
在封面下):
因此,如果保存记录时出现问题,它特别返回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