【问题标题】:Showing Id instead of Name in Active Admin Gem在 Active Admin Gem 中显示 ID 而不是名称
【发布时间】:2012-03-20 23:04:36
【问题描述】:

我安装了 Ruby on Rails Gem Active Admin 并在表之间建立了关联。

Category 
with fields (category_name:string)

SubCategory
with fields (sub_category_name:string, category_id:integer)

但是当我在类别下拉列表中查看子类别的管理控制台而不是其名称时,将出现加密字符串,它指的是类别 ID。就像:

#<Category:0x698a648>
#<Category:0x6958998>

我希望类别名称出现在此处。我知道def to_s 函数可以做到这一点,但在活动管理 gem 中我不确定在哪里编写这个函数。

任何想法都将受到高度赞赏..

【问题讨论】:

    标签: ruby ruby-on-rails-3 activeadmin


    【解决方案1】:

    您可以在类中编写 to_s 方法并返回类别名称:

    #app/models/category.rb
    class Category    
      #...
    
      def to_s
        category_name
      end
    end
    

    【讨论】:

    • 感谢您的回复。但我知道我可以在 category.rb 中做到这一点,但我猜它不会反映在活动的管理控制台上。我正在使用活动管理 gem,我在管理文件夹中分别有页面,我已经尝试过上述功能,但没有成功。
    • ActiveAdmin 尝试从对象的类定义中调用方法“to_s”。如果你在模型中定义方法,ActiveAdmin 会找到它并且它会起作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-26
    • 1970-01-01
    • 1970-01-01
    • 2021-12-27
    • 2017-12-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多