Поэтому я использую проверки модели ActiveRecord для проверки формы в приложении RESTful.
У меня есть действие создания, которое:
@association = Association.new
и принимающая сторона формы создает хеш данных из параметров формы для сохранения в базе данных, используя:
@association = user.associations.create(data)
Я хочу просто отобразить действие создания, если проверка не удалась. Проблема заключается в том, что метод .create (not!) Вызывает исключение в тех случаях, когда проверка модели не удалась. Пример:
validates_format_of :url, :with => /(^$)|(^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(([0-9]{1,5})?\/.*)?$)/ix, :message => "Your url doesn't seem valid."
в модели выдает:
ActiveRecord::RecordInvalid Exception: Validation failed: Url Your url doesn't seem valid.
Я думал. Создай! предполагается, что выдается исключение, тогда как .create не является.
Я что-то здесь упускаю?
Ruby 1.8.7, уровень исправления 173 и рельсы 2.3.3