我无法验证我的字符串字段

时间:2017-01-28 15:22:01

标签: ruby-on-rails sql-server validation ruby-on-rails-4 tiny-tds

我在项目中使用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

1 个答案:

答案 0 :(得分:0)

我认为您不能或不需要验证主键。没有键的条目不会保留在数据库中。保存新对象应为其生成新的主键。

看一下这些帖子,将主键变为不是整数: