валидация модели релакс-рельсов - PullRequest
2 голосов
/ 06 декабря 2008

Я работаю над приложением рельсов (у меня есть некоторый опыт работы с рельсами). Но на этот раз я использую RESTful для его сборки. Мне интересно, как я могу проверить мои модели в RESTful-стиле? Под этим я подразумеваю, когда пользователь вводит данные в форму, но проверки модели препятствуют созданию модели, что представляет собой RESTful способ перенаправить пользователя обратно к действию new с данными, которые они вводили до сих пор. присутствует в форме?

Ответы [ 4 ]

4 голосов
/ 06 декабря 2008

REST влияет только на ваши контроллеры и маршруты!

Проверки модели в приложении RESTful Rails такие же, как проверки в любом другом приложении Rails.

3 голосов
/ 06 декабря 2008

Джош - вы упомянули, что хотите знать, как перенаправить пользователя обратно, чтобы создать, если он ошибся. Если вы используете более ранние версии Rails, просто убедитесь, что вы используете помощник form_for, а не start_form_tag из ранних версий. Код вашего контроллера будет выглядеть примерно так, как вы могли бы привыкнуть ... например (модель Customer):

def create
  @customer = Customer.new(params[:customer])
  if @customer.save
    flash[:notice] = 'Customer was successfully created.'
    redirect_to(@customer)
  else
    render :action => "new"
  end
end

Теперь вы заметите redirect_to(@customer), который пересылает запись, созданную в транзакции. Но при неудаче это тот же самый старый рендер: action.

0 голосов
/ 06 декабря 2008

используйте генератор скаффолдов для просмотра примеров кодов на контроллерах restful

0 голосов
/ 06 декабря 2008

Независимо от того, разрабатывается ли RESTful или обычным способом, реализация бэкэнда обычно остается неизменной. Как и в приложении, не поддерживающем RESTful, вы просто заново визуализируете страницу создания в форме с экземпляром, который пытается создать пользователь. На самом деле с помощью REST все, что вы делаете, - это создаете единый набор URL-адресов, которые отвечают на разные HTTP-запросы, а все остальное остается прежним.

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