В моем веб-приложении у меня есть страница входа в систему, которая находится в Контроллере страниц и называется welcome.html.erb
Внутри него есть простая форма для входа в систему и простая форма для регистрации, обе на одной странице.
Если пользователь регистрируется с неправильными учетными данными (например, неверное подтверждение пароля или длина пароля и т. Д.), Контроллер, который обрабатывает это, является новым методом в контроллере пользователей.
Внутри нового метода он проверяет, создан ли пользователь, и если нет, я бы хотел, чтобы он возвращался к методу welcome в Pages Controller, передавая ему ошибки, которые были созданы во время создания пользователя.
Кажется, что если я сделаю
redirect_to root_path
Счетчик ошибок регистрации сбрасывается при возврате к корневой странице. Если вместо этого я вызываю какое-то другое действие контроллера пользователя, я вижу ошибки.
Но так как весь html-код находится в окне приветствия, я не хочу копировать код и в представлениях контроллера пользователя ..
Есть ли способ передать данные об ошибках в контроллер страниц?
Частичное для ошибки
<% if object.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(object.errors.count, "error") %> prohibited this <%= object.class.to_s.underscore.humanize.downcase %> from being saved:</h2>
<p>There were problems with the following fields:</p>
<ul>
<% object.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
Который я звоню, используя
<%= render 'shared/error_messages', :object => f.object %>