作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我有一个简单的大写方法,这样当用户在乐队页面中提交一个新乐队时,它会将第一个字母大写。在我的 Band
类中,我还有一个 validates_uniqueness_of :band_name
来查看是否已经有一个具有相同条目的 band
。见下面的代码:
class Band < ActiveRecord::Base
has_and_belongs_to_many :venues
validates :band_name, :presence => true
before_save :title_case
validates_uniqueness_of :band_name
private
def title_case
self.band_name.capitalize!
end
end
因此,如果我输入 someband
,它会创建它并将其显示为 Someband
。如果我再次键入 someband
,ActiveRecord
会将其视为唯一,我将获得另一个 Someband
。它工作的唯一方法是如果我键入 Someband
。我该如何补救这种情况?
最佳答案
我想你想做的是这个
validates_uniqueness_of :band_name, :case_sensitive :false, allow_blank: false
看看http://api.rubyonrails.org/classes/ActiveRecord/Validations/ClassMethods.html
:case_sensitive - Looks for an exact match. Ignored by non-text columns (true by default).
关于ruby-on-rails - ActiveRecord,validates_uniqueness_of :name not catching non-uniquness if I have a capitalize method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32281003/
我是一名优秀的程序员,十分优秀!