@WEB_champion

Как вывести сообщении ошибок при валидации в Rails?

Если в модели User присутствует валидации, типа:
validates :name, :login, presence: true, то при не соблюдении этой валидации должны выводиться ошибки.
Каким образом можно выводить список ошибок в view и где находятся эти сообщения, чтобы изменять их???
  • Вопрос задан
  • 3643 просмотра
Решения вопроса 1
YourWest
@YourWest
Ruby Developer
Пример вывода ошибок:
<% if @article.errors.any? %>
  <div id="error_explanation">
    <h2><%= pluralize(@article.errors.count, "error") %> prohibited this article from being saved:</h2>
    <ul>
    <% @article.errors.full_messages.each do |msg| %>
      <li><%= msg %></li>
    <% end %>
    </ul>
  </div>
<% end %>


Про изменение сообщений об ошибка почитайте тут: rusrails.ru/rails-internationalization-i18n-api
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
mannaro
@mannaro
Умею профессионально гуглить
Ответ написан
Комментировать
@Kane
@user.errors.full_messages.join(', ')
Ответ написан
Комментировать
FanKiLL
@FanKiLL
Сделайте себе например partial _error_messages.html.erb

и потом перед каждой формой, где будут выводится ошибки рендерите этот partial.
например у вас форма с регистрацией
<%= form_for(@user, url: register_attempt_path, html: { class: 'form-wrapper form-medium' }) do |f| %>
    <%= render 'shared/error_messages', object: f.object %>
<%= f.text_field :username, class: 'form-control margin_form_control', placeholder: 'username' %>
<% end %>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы