Сообщения об ошибках в Ruby on Rails - PullRequest
3 голосов
/ 20 марта 2011

Я сделал поля validates_presence_of к комментариям в руководстве .Как отобразить ошибки проверки на странице сообщений.Я знаю о рендере, но при рендеринге мне нужно отправить все переменные, которые я использую на странице постов.Я прав?

Ответы [ 4 ]

4 голосов
/ 20 марта 2011

Я не верю, что плагин требуется.Генератор скаффолдов в Rails 3.x делает это следующим образом:

<%= form_for(@model) do |f| %>
  <% if @model.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(@model.errors.count, "error") %> prohibited this model from being saved:</h2>

      <ul>
      <% @model.errors.full_messages.each do |msg| %>
        <li><%= msg %></li>
      <% end %>
      </ul>
    </div>
  <% end %>
<%# Rest of form... %>
2 голосов
/ 20 марта 2011

Если вы хотите показать сообщения в вашем представлении, например, так:

Rails UI for error_messages

Это то, что вы хотите .. Больше информации http://www.monochrome.co.uk/blog/2010/04/14/rails-3-error_messages-and-error_messages_for

`rails plugin install git://github.com/rails/dynamic_form.git`

<%= form_for @supermoon do |f| %>
  <%= f.error_messages %>

Плагин не требуется в рельсах 2.3 (требуется в 3.x)

1 голос
/ 20 марта 2011

Вы можете получить доступ к этим ошибкам проверки (и их сообщениям) в @variable.errors.full_messages, как показано здесь .

0 голосов
/ 20 марта 2011

validates_presence_of имеет аргумент: message, чтобы настроить сообщение об ошибке.

class Person < ActiveRecord::Base
    validates_presence_of :user_name, :message => 'My custom error message'
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...