Rails 4:嵌套属性和PG :: NotNullViolation错误

阿尔伯特

我有一个模型User.rbaccepts_nested_attributes_for :address

user.rb

has_one :address
accepts_nested_attributes_for :address

地址.rb

belongs_to :user

当我尝试使用Rails控制台对其进行测试时,会发生以下情况

user = User.find(157)

用户负载(1.5ms)选择“用户”。在“用户”中,在“用户”中。“ id” = $ 1 LIMIT 1 [[“ id”,157]] *

#<用户ID:157,名称:“ John Doe”,电子邮件:...

user.address.phone

UserAddress负载(0.8ms)选择“地址”。在“地址”中的“地址”中。“类型” IN(“ UserAddress”)和“地址”。“ user_id” = $ 1 ORDER BY“ addresses”。“ id” ASC LIMIT 1 [[[“ user_id”,157]]

“ 1234567”

到目前为止还好。但是,以下操作无效:

user.update(:address_attributes => {:phone  => "888888"})

它抛出

ActiveRecord::StatementInvalid: PG::NotNullViolation: ERROR:  null value in column "user_id" violates not-null constraint

SQL对我来说没有多大意义

UPDATE "addresses" SET "user_id" = $1, "updated_at" = $2 WHERE "addresses"."type" IN ('UserAddress') AND "addresses"."id" = 128  [["user_id", nil], ["updated_at", Sun, 02 Feb 2014 19:55:07 CET +01:00]]

为什么它尝试更新user_idnil当我真正更新的phone属性?

理查德·派克

也许问题在于您没有使用正确的ActiveRecord对象?

也许您可以尝试:

user.address.update_attributes({phone: "888888"})

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Rails:PG :: NotNullViolation:错误:“ id”列中的空值违反了非空约束

来自分类Dev

创建表单(简单表单)的问题PG :: NotNullViolation:错误:Rails列中的空值

来自分类Dev

Rails:PG :: NotNullViolation:错误:“ id”列中的空值违反了非空约束

来自分类Dev

PG :: NotNullViolation:错误:空值,但该值是通过ActiveRecords设置的

来自分类Dev

Rails 4中错误消息的嵌套属性本地化

来自分类Dev

表单,嵌套资源和路由错误Rails 4

来自分类Dev

遇到PG :: NotNullViolation

来自分类Dev

使用rails的PG错误

来自分类Dev

Rails嵌套资源未知属性错误

来自分类Dev

Rails:模型接受嵌套属性错误

来自分类Dev

rails:HABTM和ActiveRecord错误(PG :: UndefinedTable:错误:缺少FROM ...)

来自分类Dev

Rails 4更新嵌套属性

来自分类Dev

更新Rails 4的嵌套属性

来自分类Dev

Rails 4,嵌套属性的总和

来自分类Dev

尝试在Rails中保存到父表和子表,但嵌套属性出现参数错误

来自分类Dev

Rails groupdate gem pg错误

来自分类Dev

Rails groupdate gem pg错误

来自分类Dev

Rails PG::SyntaxError: 错误说明

来自分类Dev

Rails 4 + Custom Devise属性-ParameterSanitizer错误

来自分类Dev

pg gem的Rails s和bundle安装错误?

来自分类Dev

Rails Bootstrap 4 错误

来自分类Dev

Rails4和Devise(NoMethod错误)

来自分类Dev

Rails嵌套表单验证错误

来自分类Dev

Rails嵌套模型错误翻译

来自分类Dev

Rails 嵌套资源路由错误

来自分类Dev

Rails 4的嵌套属性不保存

来自分类Dev

Rails 4-多态关联-嵌套属性

来自分类Dev

3种模型的Rails 4嵌套资源错误

来自分类Dev

无法重定向到nil!(错误)-Rails 4嵌套表格

Related 相关文章

热门标签

归档