2013-09-29 2 views
0

Вот мой код:Ошибка проверки. Что здесь не так?

class Product < ActiveRecord::Base 
    validates :title, :description, :image_url, presence: true 
    validates :price, numericality: {greater_than_or_equal_to: 0.01} 
    validates :title, uniqueness: true 
    validates :image_url, allow_blank: true, format: { 
     with: %r{\.(gif|jpg|png)$}i, 
     message: 'must be a URL for GIF, JPG, or PNG image.' 
} 
end 

Здесь ошибка я получаю:

Предоставленного регулярное выражение используют многострочные якоря (^ или $), которые могут представлять угрозу безопасности. Вы имели в виду использовать \ A и \ z или забыли добавить параметр: multiline => true?

Видимо ошибка существует в строке 5.

Я очень новичок в Rails. На самом деле это мой первый день. В чем проблема и как я могу ее исправить? Спасибо за ваше время.

+1

Ответ в сообщении об ошибке: используйте '\ z' вместо' $ 'в' с: ... '. –

+0

спасибо. –

ответ

1

У меня была та же проблема. Работа с примерами в книге. Это код, который работал для меня:

class Product < ActiveRecord::Base 
    validates :title, :description, :image_url, presence: true 
    validates :title, uniqueness: true 
    validates :price, numericality: {greater_than_or_equal_to: 0.01} 
    validates :image_url, allow_blank: true, format:{ 
     with: %r{\.(gif|jpg|png)\Z}i, 
     message: 'must be a URL for GIF, JPG or PNG image.' 
    } 
end 
Смежные вопросы