2014-09-08 3 views
1

У меня есть настраиваемые переадресации для моих форм регистрации, у меня есть две формы: одна для человека и другая для компании. Я добавил это в создании действия контроллера регистрацийУточнить сообщения об ошибках после пользовательского перенаправления

if resource.company_form 
    redirect_to new_user_registration_path(company: true)  
    else 
    redirect_to new_user_registration_path 
    end 

При этом, хотя я потерял все сообщения об ошибках Завещание, как и в не показывает никаких ошибок валидации, так что мне нужно, чтобы отправить сообщение об ошибке сообщения вместе с перенаправлением, а я? но не уверен, как это сделать.

До сих пор я пытался печатать сообщения об ошибках на консоль

ap(resource.errors.full_messages) 

[ 
[0] "Email can't be blank", 
[1] "Password can't be blank", 
[2] "Company name can't be blank" 
] 

где, как это

ap(resource.errors) 

@messages={:email=>["can't be blank"], :password=>["can't be blank"], :company_name=>["can't be blank"]} 

Как бы я получить сообщения об ошибках, которые будут отображаться над формой снова

Любая помощь с оценкой

Thank you

ответ

1

Магия разрабатываемых сообщений об ошибках выполняется с помощью метода response_with.

Таким образом, вы можете изменить redirect_to для блока respond_with

respond_with(resource) do |format| 
    if resource.company_form 
    format.html { render 'new', locals: { is_organisation: true } } 
    else 
    format.html { render 'new' } 
    end 
end 

и на ваш взгляд

<% params[:organisation] ||= is_organisation -%> 
+0

спасибо за ответ, но им по-прежнему получать сообщения об ошибках не отображается – Richlewis

+0

Я редактировал ответ, может быть, флеш-сообщения не отправляются в директиве redirect_to – knotito

+0

, я не совсем уверен, как это пойдет на мой взгляд, извините – Richlewis

Смежные вопросы