我在项目中使用rails和SQL server。当我在模型中进行以下验证时:validates :Clave, uniqueness: true
我收到此错误:can't cast ActiveRecord::ConnectionAdapters::SQLServer::Type::Char::Data to varchar
这是我的schema.rb
create_table "Productos", primary_key: "Clave", force: :cascade do |t|
t.integer "Id", limit: 4, null: false
t.varchar "Producto", limit: 255
t.varchar "CodBarras", limit: 50
t.varchar "IdEmpresa", limit: 50
end
这是我的模型producto.rb
class Producto < ActiveRecord::Base
self.primary_key = "Clave"
validates :IdEmpresa, uniqueness: true
validates :Clave, uniqueness: true
validates :Producto, presence: true
end
答案 0 :(得分:0)
我认为您不能或不需要验证主键。没有键的条目不会保留在数据库中。保存新对象应为其生成新的主键。
看一下这些帖子,将主键变为不是整数: