2014-06-25 18 views
0

我開始使用Rails,並一直在爲此付出努力。在rails 4.0中使用和由sql模型預定義的id

的問題是,當我嘗試登錄下面的錯誤就出來了。(我使用色器件)

ActiveRecord::StatementInvalid in Devise::RegistrationsController#create 

PG::UndefinedColumn: ERROR: no existe la columna usuario.id LINE 1: ...b4c1d3674118467080c9d5ae9b1d67353f050b' ORDER BY "usuario"....^: SELECT "usuario".* FROM "usuario" WHERE "usuario"."confirmation_token" = '6e4568f260aa4a6524bebb77feb4c1d3674118467080c9d5ae9b1d67353f050b' ORDER BY "usuario"."id" ASC LIMIT 1 

的事情是,當我去到表usuario在Postgres的主鍵或ID被稱爲usuario_id而不是id

我不知道爲什麼軌道只需要它就像id

如果有人能幫助我如何改變這將是非常有益的。

回答

0

您可以使用您的模型中primary_key=二傳手設置主鍵列名:

# app/models/user.rb 
class User < ActiveRecord::Base 
    self.primary_key = 'usuario_id' 
end 
+0

這工作的人!但現在我得到PG的錯誤。 PG :: NotNullViolation:錯誤:列«usuario_id»的空值違反限制不爲空。 我承認它違反了de限制,我怎麼能自動增加ID而無需通過註冊表單輸入ID? –

+0

另外,當我在Postgres的\ d usuario中使用這個表時, COLUMN TYPE MODIFIERS usuario_id |整數|不爲空 –

相關問題