无法在带有计算列的表中插入行?

时间:2012-12-12 08:44:23

标签: ruby-on-rails ruby-on-rails-3 activerecord

我在SQL Server上运行了一个Rails 3应用程序,针对具有一些计算列的旧数据库。当我尝试保存新记录时,出现错误“列”ContractPendingDays“无法修改,因为它是计算列或是UNION运算符的结果

我没有更新此列,它似乎是activerecord在向db中添加新记录时尝试写入的列之一。

有没有办法阻止这种行为?我甚至尝试过更改架构rb,但这没有用。 (并且无论如何都是次优的,因为每次我更改数据库时都必须这样做。)

有没有办法将列标记为不可更新,因此activerecord不会尝试写入它?

1 个答案:

答案 0 :(得分:1)

在这里找到答案:

Prevent NULL for active record INSERT?

(在before_create过滤器中使用attributes.delete)