ActiveAdmin和自我关系模型

时间:2012-08-06 23:21:18

标签: ruby-on-rails activeadmin

我是ROR的新手。 安装ActiveAdmin并使用它注册deparments模型

Departments DB表,如下所示:

id parent_id name

部门模型:

class Departments < ActiveRecord::Base
  attr_accessible :name, :parent_id

  belongs_to :parent, :class_name => 'Departments'

  validates :name, :presence => true
end

并在主动管理员中:

ActiveAdmin.register Departments do
  menu :parent => 'Manage'
  index do 
    column :parent_id
    column :name
    default_actions
  end

  form do |f|
    f.inputs "Departments" do
      f.input :parent_id
      f.input :name
    end
    f.buttons
  end
end

在索引页面上显示父列下的ID号 我有两个问题

  1. 如何显示父名称而不是显示父ID

  2. 添加新部门时,如何显示Parent的下拉列表 字段包含所有部门名称而不是文本字段。

  3. 当我点击视图链接时,它会正确显示父名称而不是父ID

    由于

2 个答案:

答案 0 :(得分:1)

ActiveAdmin.register Departments do
  index do
    column :parent
  end
end

或者,如果这不起作用,您可以更明确

ActiveAdmin.register Departments do
  index do
    column :parent do |resource|
      resource.name
    end
  end
end

用于输入菜单

form do |f|
  f.inputs "New" do
    f.input :parent, :as = :select, :collection => Department.all, :member_label => lambda { |i| i.name }
  end
end

答案 1 :(得分:0)

尝试放

column :parent
input :parent