Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 3和ActiveAdmin:to_s vs.display_name_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails Rails 3和ActiveAdmin:to_s vs.display_name

Ruby on rails Rails 3和ActiveAdmin:to_s vs.display_name,ruby-on-rails,ruby,Ruby On Rails,Ruby,我正试图了解Rails、ActiveAdmin和对象的字符串表示。特别是,我正在努力定义一个方法,Rails将在模板和ActiveAdmin中使用它 如果我这样做: def to_s "Hello world" end 然后在Rails中就可以了。但不是在ActiveAdmin中,它只有在我使用display\u name时才会拾取它。通过这样做可以解决问题: alias_attribute :to_s, :display_name 但这是不是有点老套?只是想知道我是否错过了一些明显的东

我正试图了解Rails、ActiveAdmin和对象的字符串表示。特别是,我正在努力定义一个方法,Rails将在模板和ActiveAdmin中使用它

如果我这样做:

def to_s
  "Hello world"
end
然后在Rails中就可以了。但不是在ActiveAdmin中,它只有在我使用display\u name时才会拾取它。通过这样做可以解决问题:

alias_attribute :to_s, :display_name

但这是不是有点老套?只是想知道我是否错过了一些明显的东西。谢谢

调用类似的方法怎么样

def something
  "Hello World"
end
然后打电话给

别名_属性:某物

在这种情况下,将方法调用到\u s可能存在冲突?

最后,我使用了:

def display_name
  "#{name}"
end

我认为您误解了alias_属性,它有两个参数-新参数和旧参数。可能有,值得一赌