Проверка формы Ruby on Rails: значение поля по умолчанию - PullRequest
0 голосов
/ 25 июля 2011

Как заставить Rails обрабатывать значение "http://" как пустое: если значение равно" http://",, не проверять поле сайта и вставлять пустую строку (не "http://") в базу данных?

В представлении:

<%= f.text_field :website, value: "http://" %>

В модели:

validates :website, format: { with: /^https?:\/\/\S+/i }, allow_blank: true

1 Ответ

1 голос
/ 25 июля 2011

Вы можете использовать: if или: разве что для условной проверки (не проверено):

validates :website, format: { with: /^https?:\/\/\S+/i }, allow_blank: true, :unless => ['http://', 'https://'].include?(params[:website]) } 

Использовать обратный вызов before_save для преобразования строки в пробел:

def before_save
  self.website = "" if ['http://', 'https://'].include?(self.website)

  true
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...