如何更新在rails中没有主id列的表

时间:2015-11-17 16:18:08

标签: ruby-on-rails activerecord

我正在处理遗留代码,无法访问数据库。有一个表没有主id列。

我可以使用record = Model.find_or_initialize_by(listing_id: rating.pid, criteria_id: 33)找到记录。

我可以使用record.rating_count += 1增加属性,但是当我尝试使用record.save!保存属性时,会出现错误TypeError: nil is not a symbol nor a string

我认为这是因为记录没有主要ID(密钥),但我不确定为什么它不更新记录。

如果您有任何建议,请告诉我。

1 个答案:

答案 0 :(得分:1)

我在尝试更新没有id列的模型(或我可以使用的其他主键)时也收到错误TypeError: nil is not a symbol nor a string。我不得不加一个。

您可以使用迁移回溯添加主键:

    add_column :people, :id, :primary_key