Rails attr_encrypted只使用一个字段?

时间:2014-03-04 02:30:40

标签: ruby ruby-on-rails-3 encryption

我正在使用Rails attr_encrypted gem来加密用户的Ouath令牌和我的数据库中的密码。但是,这个gem有可能只使用一个数据库字段而不是两个字段吗?

例如,在我的数据库中,我必须创建'token'和'encrypted_token'字段以使gem工作。但是,当我创建记录时,'token'字段为nil,'encrypted_token'正确存储加密的令牌。是否可以使用'token'字段来存储加密数据?只有一个存储零的列才是浪费的领域。

我正在使用Ruby 1.9.3和Rails 3.2.12

如果之前已经回答,请提前抱歉。我试过寻找类似的答案,但我可能不确定正确的关键字/条款。

谢谢!

编辑已添加的代码

型号:

#  id               :integer          not null, primary key
#  name             :string(255)
#  email            :string(255)
#  token            :string(255)
#  encrypted_token  :string(255)
#  created_at       :datetime         not null
#  updated_at       :datetime         not null

class User < ActiveRecord::Base
  attr_accessible :email, :name, :password, :token, :encrypted_token
  attr_encrypted :token, key: 'secret'

  #validations
end

控制器:

class UsersController < ApplicationController
  def create
    @user = User.new(params[:user])
    if @user.save
      sign_in @user
    flash[:success] = "Welcome!"
        redirect_to @user
    else
      render 'new'
    end
  end
end

0 个答案:

没有答案