0

作成時にモデルからデータを送り返す方法があるかどうか疑問に思っていました。私のアプリには、作成時にキーを生成し、データベースでハッシュするモデルがあります。ハッシュされていない形式のキーを取得してユーザーに送り返し、一度だけ表示して別の場所に保存できるようにしたいと考えています。モデル内からフラッシュメッセージを設定しようとしましたが、うまくいきません。

4

2 に答える 2

1

私が見ることができる唯一の方法は次のとおりです。

  1. after_initialize キーを追加に割り当てますattr_accessor(それを呼び出しましょうunhashed_key
  2. を追加before_validation on: :createunhashed_key、それをハッシュして割り当てますhashed_key
  3. 保存hashed_key時にデータベースにのみ移動し、unhashed_key引き続き読み取り可能
  4. 次のリクエストのためにフラッシュまたはセッションを通過unhashed_keyします(フラッシュが最善の方法ではないと思います。おそらくセッションを使用してください)
于 2013-07-21T21:23:08.090 に答える
1

attr_accessor通常の Ruby クラスと同じように、永続化されていないフィールドをモデルに追加できます。ActiveRecord はこれらを検出しません。したがって、フィールドを追加してそこに配置するだけで、そのオブジェクトの存続期間中 (またはクリアされるまで) 存在します。しないでくださいreload

于 2013-07-21T22:12:21.920 に答える