gpt4 book ai didi

ruby-on-rails - Rails + Active Admin : Display name

转载 作者:数据小太阳 更新时间:2023-10-29 08:27:54 26 4
gpt4 key购买 nike

我将 Active Admin 与 Ruby on Rails 结合使用,我对某些模型在面板中的显示方式有疑问。

上课User例如,如果我没有定义任何方法来友好地显示它,我会看到 #<User:00000006b47868> .因此 Active Admin 建议实现一种方法来为每个类指定如何显示它。

根据文档 ( http://activeadmin.info/docs/3-index-pages/index-as-table.html ),Active Admin 按照以下顺序寻找其中一种方法来猜测要显示的内容:

:display_name, :full_name, :name, :username, :login, :title, :email, :to_s

因此在 User 中使用此方法类将解决问题:

def display_name
return self.id.to_s + '-' + self.full_name
end

但是,在使用 Active Admin 之前,我已经在使用方法 display_name出于其他目的(例如,在 View 中)以便以友好的方式显示用户名,我不想在 Active Admin 面板中显示相同的内容。

我无法更改方法的名称,因为我使用 display_name在项目的很多文件中,更改它可能会在应用程序中引入错误。

这种情况的理想解决方案是使用类似 active_admin_name 的东西。 Active Admin 用来在其面板中显示模型的方法。所以问题是:

有什么方法可以让 Active Admin 调用而不是 display_name 的方法吗? ? 例如,要生成以下顺序:

:active_admin_name, :display_name, :full_name, :name, :username, :login, :title, :email, :to_s

我在 Active Admin 文档和 config/initializers/active_admin.rb 中进行了搜索, 但我找不到办法。

谢谢!

最佳答案

尝试

ActiveAdmin.setup do |config|    
config.display_name_methods = [:active_admin_name, :display_name ...]
end

您可以在 lib/active_admin/application.rb 中找到此设置

关于ruby-on-rails - Rails + Active Admin : Display name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16255991/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com