1

ユーザー名ごとに ActiveAdmin のヘッダー メニューでユーザーの電子メールを変更しようとしています。ActiveAdminのドキュメントには、これを行う方法がありますがconfig/initializers/active_admin.rb、静的な値しか許可されておらず、ユーザーのログインごとに動的に変更する必要があります。

これは、静的な方法として作成するコードです。

config.namespace :admin do |admin|
 admin.build_menu :utility_navigation do |menu|
  menu.add label: 'My label', url: "url/to/whatever"
  admin.add_logout_button_to_menu menu
 end
end

私は次のようなことをしようとしています:

config.namespace :admin do |admin|
 admin.build_menu :utility_navigation do |menu|
  menu.add label: current_admin_user.user_name, url: admin_admin_user_path(current_admin_user)
  admin.add_logout_button_to_menu menu
 end
end

アプリケーションの起動時 (および ruby​​ が初期化子を解釈する場所) にセッションが存在しないため、これは不可能です。

アイデア?

すべてのコメントは大歓迎です!

前もって感謝します!

4

1 に答える 1

1

proc を使用してみてください、例

 menu.add  :label  => proc{ display_name current_active_admin_user },
                  :url    =>  proc{  edit_admin_admin_user_path(current_active_admin_user) }  ,
                  :id     => 'current_user',
                  :if     => proc{ current_active_admin_user? }
于 2013-07-11T12:35:36.540 に答える