Проверка модели не работает в рельсах 3.2.1 - PullRequest
0 голосов
/ 06 февраля 2012

Почему этот валидатор модели

validates_format_of :weight, :with => /\A\d{1,3}\.\d{0,2}\Z/, :on => :create

соответствует

12.4kg

, хотя он не может

РЕДАКТИРОВАТЬ: форма просмотра

<%= form_for :new_client do |f| %>
<% if @new_client.errors.any? %>
    <div class="error_explanation">
        <h2><%= pluralize(@new_client.errors.count, "error") %> prohibited data from being send:</h2>
        <ul>
            <% @new_client.errors.full_messages.each do |msg| %>
                <li><%= msg %></li>
            <% end %>
        </ul>
    </div>
<% end %>

<div class="field">
    <%= f.label :weight %>          <%= f.text_field :weight %><br/>
    <%= f.label :height %>          <%= f.text_field :height %><br/>
</div>
<div class="actions">
    <%= f.submit %>
</div>

Я проверяю все ошибки, я думаю, но дело в том, что вес не должен быть действительным и должен выдавать ошибку, но это не так.

Ответы [ 2 ]

0 голосов
/ 07 февраля 2012

я нашел проблему.в моем файле миграции весовой столбец был плавающей точкой вместо строки.

0 голосов
/ 07 февраля 2012

Распространенная ошибка - забыть отображать сообщения об ошибках, особенно если вы отображаете ту же форму после сохранения формы.Эта ошибка уже стоила мне часов отладки.Вы проверяете @model.errors на ваш взгляд?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...