私は現在、Rails 3.0.10 アプリを持っており、単純な関連付けを持つ 2 つのモデル (has_many と belongs_to) を作成しました。
ActiveAdmin プラグインをインストールし、対応する Ruby リソース ファイルを作成した後、奇妙な動作に気付きました。
以下では、「ジョブ ファイル」が「Ernet クライアント」に属していることがわかります。関連付けはすべて正しく機能していますが、表示名はクライアント名ではなく実際の ActiveRecord オブジェクトとして表示されています。
これは、「ジョブ ファイル」セクションの下にあるときのショー ビューです。
しかし、実際のクライアントを表示すると、正しいテキストが表示されます。
これを引き起こしている「ジョブファイル」リソースに何か問題があるに違いありませんが、何が原因なのかわかりません。グーグルの後、私はこれを見つけました: http://groups.google.com/group/activeadmin/browse_thread/thread/2a261e070efa7bae
JobFile.register ファイル内で、表示名を次のように指定しました。
filter :ernet_client, :display_name_methods => :display_name
しかし、これはうまくいきませんでした。他の利用可能な名前をすべて循環させましたが、役に立ちませんでした。
ActiveAdmin の依存関係を調べたところ、sass-rails が唯一のもののようですが、それは 3.1 を使用していて、Rails 3.0.10 を使用している場合です。
最後に、関連付けが実際に機能していることを確認するために、Rails コンソールを開いてジョブ ファイルを作成しました。
job = JobFile.new
=> #<JobFile hash returned>
job.ernet_client_id = 2
=> 2
job.ernet_client.client_name
=> Target
すべてが正常に機能しているようです。
誰でもこれを解決する方法について何か洞察がありますか?