Настройка формы для использования Devise с Client_Side_Validations - PullRequest
0 голосов
/ 24 октября 2011

Я использую Devise 1.4.7 и пытаюсь интегрировать client_side_validations 3.1.0 в свой проект.Я расширил контроллер регистрации, написав контроллер my_registrations_controller, который унаследован от Devis registrations_controller, использует Super и указал на него через route.db:

devise_for :users, :controllers => { :registrations => "my_registrations" }

Мой файл new.html.erb в представлении my_registrationsвыглядит так:

<h2>Sign in</h2>
<% if !flash[:notice].blank? || !flash[:alert].blank? %>
 <div class="notice">
<%= flash[:alert]%>
<%= flash[:notice]%>
</div>
<% end %>
<%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do       |f| %>
<%= devise_error_messages! %>

  <div><%= f.label :email %><br />
  <%= f.email_field :email %></div>

  <div><%= f.label :Password %><br />
  <%= f.password_field :Password %></div>

  <% if devise_mapping.rememberable? -%>
  <div><%= f.check_box :remember_me %> <%= f.label :remember_me %></div>
  <% end -%>

  <div><%= f.submit "Sign in" %></div>
  <% end %>

  <%= render :Partial => "devise/shared/links" %>

Я следовал инструкциям client_side_validations. Я добавил необходимые библиотеки javascript, добавил rails.validations в файл application.html.erb и раскомментировал необходимые строки в файле инициализатора устройства.

client_side_validations предоставляет пример для интеграции его проверок, когда ваша форма выглядит следующим образом:

<%= form_for @user, :validate => true do |u| -%>

Однако форма Devise отличается и, несмотря на то, что я поставил ": validate => true" в

 <%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do       |f| %>

... нет сообщений в форме?Я уверен, что упускаю что-то очевидное.

Примечание: без client_side_validations, если я оставляю поля электронной почты или поля пароля пустыми и нажимаю «Зарегистрироваться», я получаю сообщения об ошибках «не может быть пустым» с сервера.

...