私はそのモデルがセッションデータを認識すべきではないと知っていますが、モデルに定義されているmethod_missingの小さな状態情報にアクセスする必要があります。 method_missingでキャッチメソッドフォームヘルパーによって呼び出される、すなわち:ここモデル内のmethod_missingからセッションにアクセスする最善の方法
client_medias/new.haml:
f.text_field :new_display_name
client_media.rb:
has_many :custom_properties, :as => :extensible
「new_display_nameは」ポリモーフィックな関連によって定義されたカスタムプロパティキーです。私はmethod_missingの動的メソッド定義にマッピングしている別個のカスタムプロパティキーのコレクションを取得するために、コンテキスト(私の場合はコントローラでアクセス可能なcurrent_appメソッドによって提供される)を知る必要があります。
アイデア?私はThread.currentを見て、この時点でそれを使う傾向があります。
を見て、この問題を議論し、このサイト上のスレッドの多くは、ほとんどもそれを考慮するためにあなたを叱るだろう、があります。モデルに何かを利用できるようにする方法を詳しく説明していますが、警告はありますが、言語は荒く、実際のツールとして感じられます。しかし、それはできます、それはちょうど悪い習慣です。検索 'session model rails' – RadBrad
私はここで、そしてもっと広いインターウェブで私の研究をしました。私はそれが悪いアイデアだと思いますが、コントローラのapp_idをモデルのmethod_missingに直接渡す唯一の方法は、text_fieldヘルパーをmonkeypatchすることです。それは悪い考えである可能性があります。誰かがより良いアイデアを考え出すことができれば、私はそれを使用して幸せです。または、どちらがより悪い(monkeypatchingヘルパーかThread.currentを使用している)どちらであるかを教えてください。 – egres