Вопрос валидации Ruby on Rails внутри контроллера - PullRequest
1 голос
/ 22 сентября 2010

Допустим, у меня есть form_tag в представлении, собирающем пользовательский ввод представления.С помощью этого ввода, который я получаю через хэш параметров, я хочу проверить некоторую информацию, такую ​​как имя телефона электронной почты.

Можно просто проверить в контроллере или это плохо?Я не планирую сохранять то, что я получаю, в БД или что-то в этом роде, оно просто помещается в электронное письмо и отправляется, но я хочу проверить эти вещи, прежде чем оно будет отправлено.

Спасибо.

РЕДАКТИРОВАТЬ:

Найдено это http://www.viddler.com/explore/rails3/videos/6/

class Test
 include ActiveRecord::Validations
 validates_presence_of :name, :email
attr_accessor :name, :email
end

1 Ответ

2 голосов
/ 22 сентября 2010

Вы можете использовать модель для всего, что вам нужно, что связано с объектом, и вам не нужно его сохранять.Хранение подобных вещей в модели желательно для поддержания чистоты контроллера.Допустим, у вас есть модель пользователя:

#controller
@user.new params[:user]
@user.check_valid
@user.save # is optional

#user.rb

def check_valid
  !email.blank? and !phone.blank?  
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...