Ruby on rails Rails验证唯一性是';行不通
型号代码(试图要求Ruby on rails Rails验证唯一性是';行不通,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,型号代码(试图要求embed\u Code的唯一性) : class链接{:with=>/^这是一个案例问题吗?默认情况下,唯一性验证是区分大小写的,因此和
embed\u Code
的唯一性)
:
class链接 :格式=>{:with=>/^这是一个案例问题吗?默认情况下,唯一性
验证是区分大小写的,因此和
被认为是唯一的。我无法想象这是一个案例问题,我只是简单地将youtubeiframe
代码复制并粘贴到表单中。但是我已经检查了youtube是否是唯一的过滤嵌入代码中的任何参数以进行跟踪,但代码是相同的。我尝试了几种不同的代码,甚至禁用了模型的某些部分。我想我只是没有足够仔细地查看我的代码。我只是询问了我的数据库以进行双重检查..相同的代码。你确定重复的代码中的空格是相同的吗?你知道吗ht还想在数据库中添加一个唯一的索引,这只是出于额外的偏执,如果您要验证嵌入代码的唯一性,并且不喜欢表扫描(嘿,谁喜欢表扫描?)。在将嵌入的代码放入数据库之前,您还应该标准化它们:对
和属性进行排序,规范属性和标记的大小写,对任何URL中的查询参数进行排序,…这样数据库会注意到重复的代码,但会验证这些代码?
class Link < ActiveRecord::Base
validates :embed_code,
:format => {:with => /^<object type|^<embed src|^<object width|^<iframe src|^<object height|^<iframe width|^<embed id|^<embed width|^<object data|^<div|^<object id/i, :message => "Invalid Input"},
:uniqueness => true
attr_accessible :title, :embed_code, :score
after_initialize :calculate_score, :favs_count
attr_accessor :score, :fav_count
validates :title, :length => { :in => 4..45, :message => "Must be between 4 & 45 characters"}
before_save :resize
has_many :favorites
has_many :favorited, :through => :favorites, :source => :user
belongs_to :user