这些天我正在使用active_admin来管理我的数据。我有一个音频模型和问题模型。音频有很多问题,问题属于音频。 我使用active_admin来创建问题。但是在问题的新页面中,有一个下拉列表显示的内容如:
#<Audio:0xb4116084>
有了这个地址,我几乎无法识别出我想要的文件。我想在Audio的下拉列表中显示的是Audio的标题,它是Audio模型的一列。我只想在新页面中更改此列,其他列保持与默认值相同。我该怎么办?谢谢!
答案 0 :(得分:8)
音频类必须实现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
答案 1 :(得分: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