2012-05-05 13 views
7

ユーザーはhas_manyトランザクションを持っています。私は現時点でアクティブな管理者を持っており、admin/transactions.rbのbelongs_to:userを使って基本的なCRUDのためにユーザの下でトランザクションをネストするように設定されています。しかし、私はまた、ユーザー間にまたがるトランザクションレコードのサブセットを示すトランザクションのトップレベルビューが必要です。この第二の部分はどのように達成できますか?Active Adminネストされたネストされていないリソースビューを使用するにはどうすればよいですか?

答えて

7

ネストされたルートとネストされていないルートを必要とする同じActive Record Modelを参照する2つのActive Adminリソースを作成する必要があります。

親リソース:

ActiveAdmin.register ParentClass do 
end 

ネストされたリソース:

ActiveAdmin.register ChildClass do 
    belongs_to :parent_class 
end 

ネスト解除資源:

ActiveAdmin.register ChildClass, :as => "All Children" do 
end 

あなたは今、「すべてを経由してChildClassに直接アクセスすることができますParentClassがまだネストされているアクセスを楽しんでいる間に欠けているというエラーを出さずにsをParentClassからChildClassに追加します。

+0

1明確な、よくフォーマットされた答えを。それがうまくいくことを望みます。 – nutsch

+0

非常にクリア、素晴らしい作品!ありがとうマット – mariowise

19

私は今、最良の方法は、「オプション」オプションで渡すことだと思う:

ActiveAdmin.register Transactions do 
    belongs_to :user, :optional => true 
    ... 
end 

この方法は、あなたがメインナビゲーションメニューだけでなく、下にネストされたビューからすべてのトランザクションにアクセスするために取得します特定のユーザー。あなたがより多くを検索する場合

、あなたは下のソースコードを参照することができます。

https://github.com/gregbell/active_admin/blob/0.4.x-stable/lib/active_admin/resource.rb

ライン131

def include_in_menu? 
    super && !(belongs_to? && !belongs_to_config.optional?) 
end 
関連する問題