Ruby on rails 如何显示名称而不是没有名称列的ID

Ruby on rails 如何显示名称而不是没有名称列的ID,ruby-on-rails,ruby,rails-admin,Ruby On Rails,Ruby,Rails Admin,我有3张桌子,活动,活动类型和行程。在activity type中,我插入了一个新的条目名=>Testing=>Example。在我的活动中,我可以使用前面在下拉列表中创建的活动类型并键入位置 在创建新行程时,有一个下拉列表activity and userwho创建了新行程,并为特定行程选择了什么活动,但它仅显示activity 1和user 1。在我的列表中,我认为这就是为什么它只显示活动1而不是测试的原因 问题: 1在创建新行程时,如何将活动1更改为特定名称?示例:在下拉列表中,它应该是测

我有3张桌子,活动,活动类型和行程。在activity type中,我插入了一个新的条目名=>Testing=>Example。在我的活动中,我可以使用前面在下拉列表中创建的活动类型并键入位置

在创建新行程时,有一个下拉列表activity and userwho创建了新行程,并为特定行程选择了什么活动,但它仅显示activity 1和user 1。在我的列表中,我认为这就是为什么它只显示活动1而不是测试的原因

问题:

1在创建新行程时,如何将活动1更改为特定名称?示例:在下拉列表中,它应该是测试而不是活动1

2如何显示名称而不是没有名称列的ID

活动表

行程表

活动类型表

注意:我在下面也试过了,但什么也没发生

Rails管理员

结束

行程模型

在模型中定义方法标题或名称,如下所示

def name
  activity_type.name
end
在rails_admin.rb中,您可能需要根据模型关联进行修改,这只是本文注释中的概念

加上。所有的先。模特。全部。收集。。。如果您有许多列,则此查询将更加优化:Model.select[:name,:id].collect..让我们来看看。
title
created_by
name
description
config.model Itinerary do
list do

  field :title
  # field :schedule
  field :no_of_days
  field :activity
  field :user      
  # field :location      
  # field :activity_type
  # field :location_name
end
create do
  field :title    
end
object_label_method do 
    :activity_label_method
    end
  def activity_label_method
     "#{self.activity_type_id}" 

  end
class Itinerary < ApplicationRecord
  belongs_to :user, foreign_key: :created_by
  belongs_to :activity
  has_many :activity_itineraries, foreign_key: :created_by

  validates :user, presence: true
  validates :title, presence: true, length: { maximum: 20 }
  validates :no_of_days, presence: true,
               :numericality => true


  def name
    activity_type.name
  end

end
def name
  activity_type.name
end
field :activity_type_id, :enum do
  enum do
    Activity.collect {|act| [act.name, act.id]}
  end
end