Я использую attr_encrypted в моем приложении rails, и он не работает должным образом.Что я делаю не так?
Моя схема выглядит следующим образом:
ActiveRecord::Schema.define(:version => 20110226214519) do
create_table "entries", :force => true do |t|
t.string "title"
t.string "encrypted_username"
t.datetime "created_at"
t.datetime "updated_at"
end
end
Моя модель:
class Entry < ActiveRecord::Base
# Setup accessible (or protected) attributes for your model
attr_accessible :title, :username
attr_encrypted :username :key => '&@it)a|S_eouL-hnBq^BJ_!]&A+3pTaw9|N;,kYMD(s.*/UmQD8F|-`HC<#<Qm'
validates :title, :presence => true
end
, затем в моей консоли запустите
e = Entry.new({ :title => 'title' })
e.encrypted_username # returns nil
e.username = "username"
e.encrypted_username # returns nil, but I'm expecting the encrypted value
Затем, когда я запускаю ye, я получаю
--- !ruby/object:Entry
attributes:
title: title
encrypted_username:
created_at:
updated_at:
attributes_cache: {}
changed_attributes:
title:
destroyed: false
encrypted_username: |
VHlAnnaz+sPlBXzp95Lvgw==
marked_for_destruction: false
new_record: true
previously_changed: {}
readonly: false
username: username
Я вижу метод экземпляра для encrypted_username, но он не попадает в мою базу данных, когда я его сохраняю.Моя проблема очевидна для кого-то там?
Любое понимание очень ценится.