У меня проблема, которую я никогда не обнаруживал.У меня есть форма для создания нового пользователя, в ней у меня есть поле для сохранения моего пароля с has_secure_password
<div class="row">
<div class="col-md-4">
<div class="form-group">
<%= form.label "Contraseña" %>
<%= form.password_field :password_digest, class:"form-control", id: :user_password_digest %>
</div>
</div>
</div>
Вопрос в том, что все поля сохранены правильно, но поле пароля всегда NULL.
Моя модель:
class User < ApplicationRecord
has_one :rol
#attr_accessible :email, :password
attr_accessor :password_digest
validates_confirmation_of :password_digest
#validates_presence_of :password, :on => :createrail
validates :password_digest, presence: true, length: {minimum: 5}, allow_nil: false
validates_presence_of :email, :on => :create
validates_uniqueness_of :email
has_secure_password
def self.authenticate(email, password_digest)
user = find_by_email(email)
p user
if user && user.password_digest
p "Me he logueado"
user
else
p "No hace hash"
nil
end
end
def logged_in
!current_user.nil?
end
Мой контроллер:
def create
@user = User.new(user_params)
p "Parametros"
p user_params
p @user
respond_to do |format|
if @user.valid?
@user.active = 1
if @user.save
p "El usuario es"
p @user
session[:usuario_id] = @user.id
p "Test"
p @user.password_digest
p "EndTest"
format.html { redirect_to @user, notice: 'Usuario creado correctamente.' }
format.json { render :show, status: :created, location: @user }
else
format.html { render :new }
format.json { render json: @user.errors, status: :unprocessable_entity }
end
end
end
end
В тесте я вижу, что поле password_digest имеет содержимое, но позже это не такэкономии.Любая помощь?