How use validation inclusion in rails -
class stadium < activerecord::base validates :name, :presence => true validates :city, :presence => true validates :contructiondate, :presence => true validates :capacity, :presence => true validates :image, :presence => true validates :name, :uniqueness => true validates :city, :uniqueness => true validates :capacity, :numericality => { :only_integer => true, :greater_than_or_equal_to => 0 } validates :image, :format => { :with => /^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/ix, :message => "uniforme invalido", :multiline => true } validates :city, :inclusion => { :in => %w(belo horizonte brasilia curitiba fortaleza manaus natal recife rio de janeiro salvador sao paulo), :message => "%{value} no esta permitido" } validate :mydate_is_date? def mydate_is_date? errors.add(:contructiondate, 'must valid date') if !contructiondate.is_a?(date) end end
i have problem inclusion, works words natal, manaus, salvador, words "sao paulo", "rio de janeiro" not work, how fix it?
thanks
try escaping spaces backslash \
.
without escaping:
> %w(belo horizonte brasilia curitiba fortaleza manaus natal recife rio de janeiro salvador sao paulo) => ["belo", "horizonte", "brasilia", "curitiba", "fortaleza", "manaus", "natal", "recife", "rio", "de", "janeiro", "salvador", "sao", "paulo"]
with escaping:
> %w(belo horizonte brasilia curitiba fortaleza manaus natal recife rio\ de\ janeiro salvador sao\ paulo) => ["belo", "horizonte", "brasilia", "curitiba", "fortaleza", "manaus", "natal", "recife", "rio de janeiro", "salvador", "sao paulo"]
Comments
Post a Comment