attr_encrypted с рельсами - PullRequest
       1

attr_encrypted с рельсами

2 голосов
/ 27 февраля 2011

Я использую 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, но он не попадает в мою базу данных, когда я его сохраняю.Моя проблема очевидна для кого-то там?

Любое понимание очень ценится.

Ответы [ 2 ]

4 голосов
/ 07 марта 2011

Я уже ответил на github, но здесь я также добавлю несколько комментариев, чтобы помочь всем, кто может столкнуться с этой проблемой. Короче говоря, существует проблема с текущим гем attr_encrypted при работе под Rails 3, когда он просто никогда не заполняет свойство encrypted_. Это было исправлено в развилке, но в оригинальном проекте почти год не было никаких действий.

См. https://github.com/shuber/attr_encrypted/issues#issue/2 для получения дополнительной информации и попробуйте https://rubygems.org/gems/spectator-attr_encrypted попробовать.

0 голосов
/ 07 марта 2011

По-видимому, это известная проблема с этим драгоценным камнем.

См. https://github.com/shuber/attr_encrypted/issues#issue/2

Вместо этого вам нужно использовать разветвленный и обновленный самоцвет для рельсов 3 и ruby ​​1.9.2 здесь:

https://rubygems.org/gems/spectator-attr_encrypted

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...