Ruby on rails 插入Rails而不发送空值

Ruby on rails 插入Rails而不发送空值,ruby-on-rails,sql-server,rails-activerecord,Ruby On Rails,Sql Server,Rails Activerecord,我在SQL Server中设置了一个表,其默认值为uniqueidentifier not null 我不希望ActiveRecord将空值发送到数据库,但确实如此,这会导致“无法将空值插入非空列”错误 如何保存ActiveRecord而不发送具有默认值的列?我真的不想: 使列为空 使用Rails生成GUID并将其发送到数据库 手动编写查询 我可以做2或3这似乎是在普通ActiveRecord/RoR中必须做的事情。不幸的是,我认为这是Rails与Sql Server之间的问题,因为使用Rail

我在SQL Server中设置了一个表,其默认值为
uniqueidentifier not null

我不希望ActiveRecord将空值发送到数据库,但确实如此,这会导致“无法将空值插入非空列”错误

如何保存ActiveRecord而不发送具有默认值的列?我真的不想:

  • 使列为空
  • 使用Rails生成GUID并将其发送到数据库
  • 手动编写查询

  • 我可以做2或3这似乎是在普通ActiveRecord/RoR中必须做的事情。

    不幸的是,我认为这是Rails与Sql Server之间的问题,因为使用Rails与MySql正确处理默认值(以及这种情况)。可能还有其他选项,但最快的可能是在ActiveRecord类中添加一个before_create回调,并在其中设置guid