Разработка sign_up игнорирует значение Remember_me - PullRequest
2 голосов
/ 13 сентября 2011

Я только начинаю с Devise. У меня есть:

class User < ActiveRecord::Base
  # Include default devise modules. Others available are:
  # :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :validatable

  # Setup accessible (or protected) attributes for your model
  attr_accessible :email, :password, :password_confirmation, :remember_me
end

и я изменил свое представление sign_up на:

<h2>Sign up</h2>

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

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

  <div><%= f.label :password %><%= f.password_field :password %></div>

  <div><%= f.label :password_confirmation %><%= f.password_field :password_confirmation %></div>

  <div><%= f.label :contact_me %><%= f.check_box :contact_me %></div>

  <div><%= f.label :remember_me %><%= f.check_box :remember_me %></div>

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

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

Однако, проверяя ответ POST, я могу видеть remember_user_token, установленный в Cookie: после регистрации, независимо от того, отмечен ли я галочкой "Запомнить меня" или нет. Кто-нибудь знает, почему это так и как это остановить?

Для сравнения, подпись в только устанавливает этот cookie, если флажок установлен, как и ожидалось.

1 Ответ

1 голос
/ 24 ноября 2012

Теперь я использую for_for, но я использую form_tag ... В моем проекте работает такой код:

.form
  = form_tag new_user_session_path do  
    = email_field_tag 'user[email]', nil, :placeholder => "Ваш e-mail", :required => true
    = password_field_tag 'user[password]', nil, :placeholder => "Ваш пароль", :required => true
    .submit-area
        = submit_tag "Вход", :class => "orange-button"
        = check_box_tag 'user[remember_me]', true
        .login-link
          Запомнить меня

Так что эта часть будет работать нормально:

= check_box_tag 'user[remember_me]', true
...