2011-06-11 14 views
1

rails 3.0プロジェクトのコンテキストでは、データベースフィールドを暗号化する必要があります。 gem Strongboxは、暗号化を管理するために使用されます。実装はgithubのreadmeに従います(リンクを参照)。 問題は、ビューがエラーをスローしていることである:<%= f.text_field :my_field %>rails 3.0 encryption strongbox

ため

invalid byte sequence in UTF-8 

は、フィールドがビューに復号化され得るために行われる特別なものはありますか?

答えて

2

金庫のドキュメントは述べて:「あなたの意見では、あなたがデータを暗号化するために特別なことをする必要はありませんコールを復号化するために形成:user.secret.decrypt 『パスワード』。」Railsのフォームビルダ

フォームを生成するときにこの値で復号化を呼び出さないので、このエラーが発生します。

  • すべての暗号化されたフィールドに手動でtext_field値を設定します。たとえば、次の2つの方法があります。

    ':my_field、:= f.text_field <% "パスワード" %> user.my_field.decrypt値=>'

  • フォームを生成するときに暗号化された値を復号化するカスタムフォームジェネレータを作成します。

+0

回答ありがとうございます!最初は明らかではなかった。 – Alpha

関連する問題