Rails 3和ActiveAdmin:to_s与display_name

Sam*_*ing 2 ruby ruby-on-rails

我试图了解Rails和ActiveAdmin,以及对象的字符串表示.特别是,我正在努力定义一个单独的方法,它将被Rails(在模板中)和ActiveAdmin中获取.

如果我这样做:

def to_s
  "Hello world"
end
Run Code Online (Sandbox Code Playgroud)

那么这在Rails中有效.但不是在ActiveAdmin中,只有在我使用时才会选择它display_name.通过这样做解决了这个问题:

alias_attribute :to_s, :display_name
Run Code Online (Sandbox Code Playgroud)

但是有点hacky吗?只是想知道我是否错过了一些明显的东西.谢谢!

Sam*_*ing 5

最后,我使用了:

def display_name
  "#{name}"
end
Run Code Online (Sandbox Code Playgroud)