0
我需要一些帮助解决以下问题。 我有交易块,我的Rails代码象下面这样:需要帮助修复导轨中的唯一键。导轨添加ID导致重复的键
@sqlcontact = "INSERT INTO contacts (id,\"cid\", \"hphone\", mphone, provider, cemail, email, sms , mail, phone) VALUES ('"[email protected]+"','" + @id1 + "', '"+ params[:hphone] + "', '"+params[:mphone]+ "', '" + params[:provider] + "', '" + params[:cemail]+ "', '" + @varemail+ "', '"[email protected]+ "', '"+ @varmail+"', '"[email protected]+"')"
我的应用程序部署到Heroku的,所以我被他们建议删除事务块。所以我改变了上述:
@cont = Contact.new(:id => @id1, :cid => @id1, :hphone => params[:hphone], :mphone => params[:mphone], :provider => params[:provider], :cemail => params[:cemail], :email => @varemail, :sms => @varsms, :mail => @varmail, :phone => @varphone)
@cont.save
我的应用程序也已存储数据。
现在的问题是,当我尝试保存记录...我不断收到错误:
duplicate key value violates unique constraint "contacts_pkey"
错误也显示了SQL查询试图插入数据......然而,在sql查询我看不到id
的值。正如你可以从我的代码中看到的那样,我正在传递id。那么为什么Rails不接受它?它是否总是包含它自己的顺序ID?我能不能覆盖默认的导轨魔法?如果它这样做......是不是看数据已经在数据库??
我真的被困在这里。我该怎么办?我应该回到我的交易区块