условия записи сообщений об ошибках для form_for - PullRequest
2 голосов
/ 05 марта 2012

Я пишу несколько операторов if / elsif для отображения сообщений об ошибках.Когда я оставляю имя пользователя пустым и правильно заполняю другие поля, он все равно переходит к оператору else и отображает «Все поля должны быть заполнены».Может кто-нибудь указать на ошибку в моей логике / синтаксисе?

<% if @user.errors.any? %>
  <div id="error_explanation" class="round">

     <% if  @user[:name].nil? and @user[:email].not.nil? and @user[:password].not.nil? and @user[:password_digest].not.nil? %>      
        <h2>Please enter a valid username. </h2>


    <% else %>      <!--If any field is left blank -->
        <h2>All fields must be completed. </h2>

    <% end %>
 </div>
<% end %>

Дайте мне знать, если вам нужно что-нибудь еще.

Ответы [ 2 ]

2 голосов
/ 05 марта 2012

Я думаю, у Railscasts есть отличный эпизод для проверок http://railscasts.com/episodes/211-validations-in-rails-3

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

0 голосов
/ 05 марта 2012

Попробуйте это

<% if  @user[:name].nil? and !@user[:email].nil? and !@user[:password].nil? and !@user[:password_digest].nil? %>  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...