0

私のアプリには、フローを通じて一貫して実行されるタイプがあり、タイプには 1、2、3、または 4 の番号が付けられています。

application_controller.rbの には、次のコードがあります。

before_filter :record_type

そしてその下のprotected:

def record_type
 field should go here = @type
end

テーブル内のフィールドに注意する方法について混乱していUserます。それはちょうどUser.type = @typeですか?

4

1 に答える 1

0

最初に編集したい特定のレコードを取得する必要があります。ユーザーに適用される場合、current_user のようなヘルパー メソッド (devise や同様の認証システムが提供するもの) があれば、それをそのまま使用できます。

current_user.type = @type を実行したいだけです

しかし、これはあなたが今持っているものを使った before_save ではありません。ユーザー レコードを保存するときにそれを保存しようとしている場合は、フィルターをユーザー モデルに移動します。次のようなことをします

before_save :add_type_to_user

def add_type_to_user
   self.type = your_type_value_here
end

タイプ値をモデルに取得する方法は、どこから取得するかによって異なります。application_controller で before_filter を使用して、@@ 変数を設定できます。モデルにいるときに、このトリックを使用して現在のユーザーを取得することがあります。@@ 変数のゲッターとセッターを作成するだけです。次に、次のようにします。

self.type = User.get_current_type

またはそのようなもの。

非常に大雑把であることは承知していますが、これがあなたを正しい方向に導いてくれることを願っています。

于 2012-08-13T22:52:33.630 に答える