Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails NoMethodError:未定义的方法`加密的\密码设计gem 这是我的用户模型: 类用户帐户 设计:数据库可验证,可注册, :可恢复,:可记忆,:可跟踪,:可验证 可访问属性:电子邮件、密码、密码确认、记住我 设计:数据库可验证, :ga_otp_可认证, :yk_otp_可认证, :可注册, :可确认, :可回收, :可跟踪, :可验证, :可锁定, :超时 #设置模型的可访问(或受保护)属性 属性可访问:密码、密码确认、记住我、时区、要求otp、要求otp、要求yk otp、全名、地址 属性存取器:验证码, :跳过验证码, :新密码, :新密码\u确认, :当前密码 在\u验证之前:生成\u名称, :on=>:创建 有很多:贸易订单, :dependent=>:destroy 有很多:购买交易, :class_name=>“交易”, :外键=>“买家id” 有很多:销售贸易, :class_name=>“交易”, :外键=>“卖方id” 有很多:发票, :dependent=>:destroy 有很多:Yubikey, :dependent=>:destroy 有很多:银行账户, :dependent=>:destroy 有很多票, :dependent=>:destroy #有很多票, #:dependent=>:destroy 验证:电子邮件, :唯一性=>true, :presence=>true 验证码:验证码 如果captcha.nil?还有新唱片? 除非跳过验证码 错误[:验证码]6) 结束 @QR码 结束 def确认! 超级的 用户邮箱。注册确认(自我)。发送 结束 受保护的 定义self.find_用于_数据库_身份验证(典狱长条件) 条件=典狱长_conditions.dup 名称=条件。删除(:名称) where(条件)。where([“name=:value或email=:value”,{:value=>name}])。首先 结束 def生成_名称 self.name=“BF-U{”%06d“%(兰德*10**6).to_i}” 结束 结束_Ruby On Rails_Mysql2 - Fatal编程技术网

Ruby on rails NoMethodError:未定义的方法`加密的\密码设计gem 这是我的用户模型: 类用户帐户 设计:数据库可验证,可注册, :可恢复,:可记忆,:可跟踪,:可验证 可访问属性:电子邮件、密码、密码确认、记住我 设计:数据库可验证, :ga_otp_可认证, :yk_otp_可认证, :可注册, :可确认, :可回收, :可跟踪, :可验证, :可锁定, :超时 #设置模型的可访问(或受保护)属性 属性可访问:密码、密码确认、记住我、时区、要求otp、要求otp、要求yk otp、全名、地址 属性存取器:验证码, :跳过验证码, :新密码, :新密码\u确认, :当前密码 在\u验证之前:生成\u名称, :on=>:创建 有很多:贸易订单, :dependent=>:destroy 有很多:购买交易, :class_name=>“交易”, :外键=>“买家id” 有很多:销售贸易, :class_name=>“交易”, :外键=>“卖方id” 有很多:发票, :dependent=>:destroy 有很多:Yubikey, :dependent=>:destroy 有很多:银行账户, :dependent=>:destroy 有很多票, :dependent=>:destroy #有很多票, #:dependent=>:destroy 验证:电子邮件, :唯一性=>true, :presence=>true 验证码:验证码 如果captcha.nil?还有新唱片? 除非跳过验证码 错误[:验证码]6) 结束 @QR码 结束 def确认! 超级的 用户邮箱。注册确认(自我)。发送 结束 受保护的 定义self.find_用于_数据库_身份验证(典狱长条件) 条件=典狱长_conditions.dup 名称=条件。删除(:名称) where(条件)。where([“name=:value或email=:value”,{:value=>name}])。首先 结束 def生成_名称 self.name=“BF-U{”%06d“%(兰德*10**6).to_i}” 结束 结束

Ruby on rails NoMethodError:未定义的方法`加密的\密码设计gem 这是我的用户模型: 类用户帐户 设计:数据库可验证,可注册, :可恢复,:可记忆,:可跟踪,:可验证 可访问属性:电子邮件、密码、密码确认、记住我 设计:数据库可验证, :ga_otp_可认证, :yk_otp_可认证, :可注册, :可确认, :可回收, :可跟踪, :可验证, :可锁定, :超时 #设置模型的可访问(或受保护)属性 属性可访问:密码、密码确认、记住我、时区、要求otp、要求otp、要求yk otp、全名、地址 属性存取器:验证码, :跳过验证码, :新密码, :新密码\u确认, :当前密码 在\u验证之前:生成\u名称, :on=>:创建 有很多:贸易订单, :dependent=>:destroy 有很多:购买交易, :class_name=>“交易”, :外键=>“买家id” 有很多:销售贸易, :class_name=>“交易”, :外键=>“卖方id” 有很多:发票, :dependent=>:destroy 有很多:Yubikey, :dependent=>:destroy 有很多:银行账户, :dependent=>:destroy 有很多票, :dependent=>:destroy #有很多票, #:dependent=>:destroy 验证:电子邮件, :唯一性=>true, :presence=>true 验证码:验证码 如果captcha.nil?还有新唱片? 除非跳过验证码 错误[:验证码]6) 结束 @QR码 结束 def确认! 超级的 用户邮箱。注册确认(自我)。发送 结束 受保护的 定义self.find_用于_数据库_身份验证(典狱长条件) 条件=典狱长_conditions.dup 名称=条件。删除(:名称) where(条件)。where([“name=:value或email=:value”,{:value=>name}])。首先 结束 def生成_名称 self.name=“BF-U{”%06d“%(兰德*10**6).to_i}” 结束 结束,ruby-on-rails,mysql2,Ruby On Rails,Mysql2,这是我的帐户模型: this is my user model: class User < Account devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable attr_accessible :email, :password, :password_confirmation, :

这是我的帐户模型:

this is my user model:


class User < Account
       devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable


          attr_accessible :email, :password, :password_confirmation, :remember_me

       devise :database_authenticatable,
       :ga_otp_authenticatable,
    :yk_otp_authenticatable,
    :registerable,
    :confirmable,
    :recoverable,
    :trackable,
    :validatable,
    :lockable,
    :timeoutable

  # Setup accessible (or protected) attributes for your model
  attr_accessible :password, :password_confirmation, :remember_me, :time_zone, :require_ga_otp, :require_yk_otp, :full_name, :address

  attr_accessor :captcha,
    :skip_captcha,
    :new_password,
    :new_password_confirmation,
    :current_password

  before_validation :generate_name,
    :on => :create

  has_many :trade_orders,
    :dependent => :destroy

  has_many :purchase_trades,
    :class_name => "Trade",
    :foreign_key => "buyer_id"

  has_many :sale_trades,
    :class_name => "Trade",
    :foreign_key => "seller_id"

  has_many :invoices,
    :dependent => :destroy

  has_many :yubikeys,
    :dependent => :destroy

  has_many :bank_accounts,
    :dependent => :destroy

  has_many :tickets,
    :dependent => :destroy

  #has_many :tickets,
  #  :dependent => :destroy

  validates :email,
    :uniqueness => true,
    :presence => true

  validate :captcha do
    if captcha.nil? and new_record?
      unless skip_captcha
        errors[:captcha] << I18n.t("errors.answer_incorrect")
      end
    end
  end

  def captcha_checked!
    self.captcha = true
  end

  def bitcoin_address
    super or (generate_new_address && super)
  end

  def qr_code
    if @qrcode.nil?
      @qrcode = RQRCode::QRCode.new(bitcoin_address, :size => 6)
    end
    @qrcode
  end

  def confirm!
    super
    UserMailer.registration_confirmation(self).deliver
  end

  protected

  def self.find_for_database_authentication(warden_conditions)
    conditions = warden_conditions.dup
    name = conditions.delete(:name)
    where(conditions).where(["name = :value OR email = :value", { :value => name }]).first
  end

  def generate_name
    self.name = "BF-U#{"%06d" % (rand * 10 ** 6).to_i}"
  end
end
类帐户:destroy
属于:家长,
:class_name=>“帐户”
验证:名称,
:presence=>true,
:唯一性=>true
#BigDecimal在这里返回
def余额(货币,选项={})
账户操作。使用币种(货币)。使用确认(选项[:未确认])。仅使用已处理的活动存款。映射(&:金额)。总和。四舍五入(5)。abs
结束
#如果在最后一小时内尚未刷新,则生成新的接收地址
def生成新地址
除非上次地址刷新和上次地址刷新>DateTime.now.advance(:hours=>-1)
self.last\u address\u refresh=DateTime.now
self.bitcoin_address=比特币::Client.instance.get_new_address(id.to_s)
拯救
结束
结束
def最大提取金额(货币)
转账金额(自身余额(货币)、币种)
结束
定义自身存储账户(货币)
account_name=“存储”{currency.to_.downcase}”
账户=按账户名称查找(账户名称)
如果帐户
账户
其他的
帐户。创建!做|
a、 名称=帐户名称
结束
结束
结束
结束
我的问题是我试图输入密码,但它不接受密码字段。密码不能为空是一个错误

我已尝试手动创建用户。这里是给错误未定义方法加密密码

如何解决这个问题?

试试这个。。。。。 您的型号上有加密密码列吗

仅仅因为它是attr_可访问的,并不意味着该属性存在,只意味着您可以访问它(如果它确实存在)。进入rails控制台并运行:

attr_accessible :email, :password, :password_confirmation, :remember_me, :encrypted_password
如果返回true,则模型中有该列,否则需要确保运行正确的迁移

User.new.respond_to?(:encrypted_password=)

这将有助于您[检查此处][1][1]:用户。新建。响应?(:加密的密码=)=>false我已经运行了这个我得到了false。运行rake db:migrate:reset重新启动服务器,然后检查。尝试“bundle exec rake db:migrate:reset”请让我知道它在控制台的输出中提供了什么,然后启动服务器并检查.User.new.response_to?(:encrypted_password=)=>false,但它不接受密码
User.new.respond_to?(:encrypted_password=)
User.new.respond_to?(:encrypted_password=) => false

I run rake db:migrate:reset and it work!!!