插入Rails而不发送空值

时间:2013-01-17 18:20:09

标签: ruby-on-rails sql-server rails-activerecord

我在SQL Server中设置了一个表,其中包含uniqueidentifier not null的默认值。

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

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

  1. 使列可以为空。
  2. 使用Rails生成GUID并将其发送到数据库
  3. 手动编写查询。
  4. 可以执行2或3这似乎 可以在普通的ActiveRecord / RoR中使用。

1 个答案:

答案 0 :(得分:0)

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