2

最近は、active_admin を使用してデータを管理しています。オーディオ モデルと問題モデルがあります。オーディオには多くの問題があり、問題はオーディオに属します。問題を作成するには、active_admin を使用します。しかし、問題の新しいページには、次のようなコンテンツを示すドロップダウン リストがあります。

#<Audio:0xb4116084>

アドレスでは、どのファイルが必要かほとんどわかりません。オーディオのドロップダウン リストに表示したいのは、オーディオ モデルの列であるオーディオのタイトルです。新しいページでこの列を変更したいだけで、他の列はデフォルトのままです。私は何をすべきか?ありがとう!

4

2 に答える 2

9

オーディオ クラスは display_name メソッドを実装する必要があります

class Audio
   def display_name
     title
   end
end

これはアクティブな管理者ソースからのものです

 # Active Admin makes educated guesses when displaying objects, this is
    # the list of methods it tries calling in order
    setting :display_name_methods, [ :display_name,
                                      :full_name,
                                      :name,
                                      :username,
                                      :login,
                                      :title,
                                      :email,
                                      :to_s ]

そのようなメソッドがないように見えるので、 to_s が Audio オブジェクトに対して呼び出されます

于 2013-07-14T20:38:43.190 に答える
0

:member_label を使用できます。

ここに例があります

form :html => { :enctype => "multipart/form-data" }  do |f| 
  f.input :problems,
          :input_html => { :multiple => false, :style => "width: 700px;"},
          :collection => Audio.all,
          :member_label => :audio_name
end
于 2013-07-08T19:58:34.200 に答える