0

ROR初心者です。ActiveAdminをインストールし、部門モデルを登録

部門 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番号が表示されています。2つの質問があります

  1. 親IDを表示する代わりに親の名前を表示するにはどうすればよいですか

  2. 新しい部門を追加するときに、テキスト フィールドの代わりにすべての部門名を持つ親フィールドのドロップダウンを表示する方法。

ビュー リンクをクリックすると、親 ID ではなく親の名前が正しく表示されます

ありがとう

4

2 に答える 2

2
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
于 2012-08-07T04:16:49.193 に答える
0

入れてみる

column :parent
input :parent
于 2012-08-07T02:36:35.213 に答える