Разработка многоступенчатой форме


Я внедрена многоступенчатая форма с методом, описанным Райан Бейтс в ep217 но у меня были некоторые странное поведение при обновлении или перемещение между шагами Acts_as_good_style (старая, но все равно хорошо) есть совет редирект, при переходе на которые приводят меня на изменения в коде.

В двух словах, там написано, что если вы в Создать действие, которое вы не должны оказывать Новый (как я делал).

Это решило проблему. Но мне пришлось управлять в случае ошибки в форме, так что я в конечном итоге с настоящим Кодексом.

#profiles_controller.rb

def create
  # [...] save etc [...]

  # render
  if @profile.new_record?  
    # render 'new' # OLD
    session[:profile_valid] = @profile.errors.blank?  # NEW
    redirect_to new_profile_path # NEW
  else 
    # [...]
  end
end 


def new  
  @profile = Profile.new(session[:profile_params])  
  # [...]

  # rebuild errors (see create)
  # check false because first time is nil and no error have to be displayed
  @profile.valid? if session[:profile_valid] == false
  session[:profile_valid] = true
end

Где в новой акции Я перезагрузить ошибок в противном случае теряется в зависимости от сессии[:profile_valid], который работает нормально.

Но этот путь выглядит не очень хорошо для меня, и я был бы признателен, чтобы иметь свое мнение, или как вы управлять контроллерами в формах multispets?

Что было странного поведения? Освежающий или ходит взад и вперед по шагам, иногда вы перейти на другую страницу, не понятно, какая логика является, вероятно, зависит от валидации в модели и значения params хэш.



1674
7
задан 22 февраля 2011 в 10:02 Источник Поделиться
Комментарии