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 回答