27 HAZİRAN 2013, PERŞEMBE
::ActiveModel yeni kullanıcı oluştururken ForbiddenAttributesError
Ruby bu model var ama ActiveModel::ForbiddenAttributesError
atar
class User < ActiveRecord::Base
attr_accessor :password
validates :username, :presence => true, :uniqueness => true, :length => {:in => 3..20}
VALID_EMAIL_REGEX = /\A[\w \-.] @[a-z\d\-.] \.[a-z] \z/i
validates :email, presence: true, :uniqueness => true, format: { with: VALID_EMAIL_REGEX }
validates :password, :confirmation => true
validates_length_of :password, :in => 6..20, :on => :create
before_save :encrypt_password
after_save :clear_password
def encrypt_password
if password.present?
self.salt = BCrypt::Engine.generate_salt
self.encrypted_password= BCrypt::Engine.hash_secret(password, salt)
end
end
def clear_password
self.password = nil
end
end
bu eylem çalıştırdığımda
def create
@user = User.new(params[:user])
if @user.save
flash[:notice] = "You Signed up successfully"
flash[:color]= "valid"
else
flash[:notice] = "Form is invalid"
flash[:color]= "invalid"
end
render "new"
end
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]
.
Bu hata kurtulmak ya da uygun bir kullanıcı kayıt formu kurmak için nasıl bana söyleyebilir misiniz?
Şimdiden teşekkürler.
CEVAP
27 HAZİRAN 2013, PERŞEMBE
Raylar 4 kullanıyorsunuz sanırım. Eğer öyleyse, gerekli parametreleri gerektiği gibi işaretlenmiş olmalıdır.
Bu şekilde yapmak isteyebilirsiniz:
class UsersController < ApplicationController
def create
@user = User.new(user_params)
# ...
end
private
def user_params
params.require(:user).permit(:username, :email, :password, :salt, :encrypted_password)
end
end
Bunu Paylaş:
Farklı Windows bağlanmak SQL Server Ma...
Nasıl yeni bir Rails uygulaması oluştu...
git - yeni kullanıcı çekme yapmaya ve ...
Belirterek sürüm yeni bir uygulama olu...
C yeni bir nesne oluştururken { } öyle...