【问题标题】:Minor Active Admin issues较小的活动管理员问题
【发布时间】:2020-09-30 05:19:20
【问题描述】:

我正在使用 Ruby on Rails 构建会员 Web 应用程序。我设置了我的数据库和表之间的关系,一切正常。我决定使用 Active Admin 来快捷地创建仪表板并提供良好的搜索功能。

我目前遇到的问题是在我的下拉列表和表格中的 Active admin 中,外键仅显示 ID 号和参考地址(抱歉,我忘记了它们的实际名称)。

Pics of my issue:

如何解决这个问题以及在哪些文件中。 我会非常感谢任何帮助。

【问题讨论】:

    标签: ruby-on-rails rubygems activeadmin


    【解决方案1】:

    自定义 ActiveAdmin 索引过滤器 > Change The String Representation

    上面的文章解释了类似的问题。您必须在会员管理页面中执行类似的操作。

      filter :plan, collection: -> {
        Plan.all.map { |plan| [plan.name, plan.id] }
      }
    

    我以name 属性为例。你可能有不同的属性,使用正确的属性来反映细节。

    更新

    基于@DevOps92 answer

    实现此目的的另一种方法是在 Plan 模型中设置任何方法 :display_name, :full_name, :name, :title, :to_s

    Active Admin Doc

    对于关联列,我们通过按以下顺序调用以下方法对要显示的内容进行有根据的猜测:

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

    这可以在 config/initializers/active_admin.rb 中自定义。

    【讨论】:

    • 感谢您的意见,但这不是我的问题的解决方案。我通过在我的 rails 模型中为计划和会员添加 display_name 方法解决了这个问题
    • 这似乎是正确的解决方法。随时将您的答案标记为已接受。
    • 谢谢@DevOps92 我已经更新了我的答案,以包含更多详细信息。
    【解决方案2】:

    我通过脚手架在数据库中创建表时转到由 rails 生成的模型,从而解决了这个问题。 App/models/plan.rd 并使用了方法 display_name。在 display_name 方法中,我列出了计划表中的列名。所以任何面临类似问题的人都会检查您的 Rails 模型。​​​​ ​​​ My Solution

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-27
      • 2012-03-23
      • 2018-04-18
      • 1970-01-01
      相关资源
      最近更新 更多