如何在rails中更新没有主键的连接表记录?

我有一个连接表,在其他两个表之间有一个直通关联。 此表具有自己的rails模型表示和一些不是其他表的id的字段。 是否可以从连接表更新记录,还是应该考虑创建唯一的主键?

如果我尝试在记录上“update_attributes”,我会收到以下错误…

Unknown column 'join_table.' in 'where clause': UPDATE `join_table` SET `join_table_attribute` = 1 WHERE `join_table`.`` IS NULL 

您可以使用update_all ,例如:

 JoinModel.update_all('join_table_attribute = 1', 'join1_id = 42, join2_id = 24')