Rails и Devise убили ошибки валидации везде - PullRequest
0 голосов
/ 15 июля 2011

Возможно ли, что установка Devise 1.1.8 в приложении Rails 3.0.3 каким-то образом мешает нормальной проверке в не-devise моделях / контроллерах?

В моем приложении есть модель User, связанная с Devise. Кроме того, есть модель пациента с атрибутом: мобильный. (Мы собираем номер мобильного телефона для приложения здравоохранения.)

класс Пациент

# validates_presence_of: mobile,: message => "должно быть предоставлено"

конец

Выше выдается следующая ошибка:

У вас есть нулевой объект, когда вы этого не ожидали! Возможно, вы ожидали экземпляр ActiveRecord :: Base. Произошла ошибка при оценке nil.errors

- и - Извлеченный источник (вокруг строки № 12):

9:       <h2><%= pluralize(@patient.errors.count, "error") %> prohibited this subscriber from being saved:</h2>
10: 
11:       <ul>
12:       <% @subscriber.errors.full_messages.each do |msg| %>
13:         <li><%= msg %></li>
14:       <% end %>
15:       </ul>

Кстати, Devise прекрасно работает при отображении сообщений об ошибках, когда новый пользователь делает ошибку (например, не предоставляя пароль).

Кроме того, удаление: message => «должен быть предоставлен» приводит к точно такой же ошибке.

Спасибо.

1 Ответ

2 голосов
/ 15 июля 2011

@ subscriber и @patient - это разные переменные экземпляра. Возможно, вы хотели использовать только один из них и убедиться, что он действительно инициализирован.

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