0
아래 문제를 해결하는 데 도움이 필요합니다. 내 애플 그래서이 트랜잭션 블록을 제거하는 그들에 의해 권고 된 Heroku가 배포 된은 레일에 고유 키를 수정하는 데 도움이 필요합니다. 레일이 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]+"')"
: 나는 아래처럼 내 레일 코드에서 트랜잭션 블록을했다. 위의 내용을 다음과 같이 변경했습니다.
@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 쿼리 iid
값이 표시되지 않습니다. 내 코드에서 볼 수 있듯이 ID를 전달하고 있습니다. 그렇다면 왜 레일은 그것을 받아들이지 않습니까? 항상 자체 ID를 포함합니까? 기본 레일 마법을 덮어 쓸 수 있습니까? 그리고 만약 그렇다면 ... 이미 DB에있는 데이터를 보지 않습니까 ??
나는 정말로 여기에 갇혀있다. 어떻게해야합니까? 방금 트랜잭션 블록으로 돌아 가야합니까