Rails 4.2 中的销毁模型错误 SQL

Wrong SQL for destroy model in Rails 4.2

我有一个非常简单的模型:

class SystemKnowledge < ActiveRecord::Base
  validates_presence_of     :system, :value
  validates_numericality_of :value, only_integer: true, greater_than: 0, less_than_or_equal_to: 100

  belongs_to :issue

  attr_accessible :system, :value
end

在对象上调用 model.destroy 后,出现此错误:

ActiveRecord::StatementInvalid: TinyTds::Error: Incorrect syntax near '='.:
EXEC sp_executesql N'DELETE FROM [system_knowledge] WHERE [system_knowledge]. = @0;
SELECT @@ROWCOUNT AS` AffectedRows', N'@0 int', @0 = 275

据我所知,问题是生成的 SQL 中没有 id 字段。我不明白的是为什么会这样。

我正在使用 Rails 4.2 与 SQL Express 2014 和 TinyTds。

任何帮助将不胜感激。

原来问题是数据库中没有设置主键table。将主键显式添加到 table 后,一切都开始起作用了。