Ruby on rails 使用rails 4.0中sql模型预定义的和id
我刚开始使用Rails,我一直在努力解决这个问题 问题是当我尝试登录时,出现了以下错误 问题是,当我在postgres中转到表Ruby on rails 使用rails 4.0中sql模型预定义的和id,ruby-on-rails,ruby,validation,devise,postgresql-9.3,Ruby On Rails,Ruby,Validation,Devise,Postgresql 9.3,我刚开始使用Rails,我一直在努力解决这个问题 问题是当我尝试登录时,出现了以下错误 问题是,当我在postgres中转到表usuario时,主键或ID被称为usuario\u ID,而不是ID 我不知道为什么rails只接受id 如果有人能帮我改变这一点,那将非常有帮助。您可以使用模型中的setter设置主键列名: # app/models/user.rb class User < ActiveRecord::Base self.primary_key = 'usuario_id'
usuario
时,主键或ID被称为usuario\u ID
,而不是ID
我不知道为什么rails只接受id
如果有人能帮我改变这一点,那将非常有帮助。您可以使用模型中的setter设置主键列名:
# app/models/user.rb
class User < ActiveRecord::Base
self.primary_key = 'usuario_id'
end
#app/models/user.rb
类用户
那个工人!,但是现在我得到了PG.PG::NotNullViolation:error的错误:«usuario_id»列的null值违反了notnull限制。我知道它违反了de限制,如何在不通过注册表单输入ID的情况下自动增加ID?此外,当我在Postgres中转到\d usuario时,我会在表usuario中获得此信息。列类型修饰符usuario|u id | integer |不为null
# app/models/user.rb
class User < ActiveRecord::Base
self.primary_key = 'usuario_id'
end