これはおそらく簡単ですが、解決策を見つけることができませんでした。
ActiveAdmin で、ページ上部のメニュー、特に現在ログインしているユーザーのこのリンクの動作をカスタマイズしたいと思います。
すべての検索で、右上隅のリンクを変更する方法を見つけることができませんでした。
リンクが指すテキストを変更し、可能であればメニューのこの領域にリンクを追加したいと思います。
これを行う簡単な方法はありますか?
これはおそらく簡単ですが、解決策を見つけることができませんでした。
ActiveAdmin で、ページ上部のメニュー、特に現在ログインしているユーザーのこのリンクの動作をカスタマイズしたいと思います。
すべての検索で、右上隅のリンクを変更する方法を見つけることができませんでした。
リンクが指すテキストを変更し、可能であればメニューのこの領域にリンクを追加したいと思います。
これを行う簡単な方法はありますか?
config/initializers/active_admin.rbを変更できます。
ActiveAdmin 0.6.0の場合、次の行を追加します。
ActiveAdmin.setup do |config|
# Customize Up Right menu
config.namespace :admin do |admin|
admin.build_menu :utility_navigation do |menu|
menu.add :label => 'click me', # text of your link
:url => proc{ my_awesome_path }, # route of your link
:html_options => {:style => 'float:left;'}, # attributes added in the DOM of your link
:if => proc{ 1 < 2 } # condition to display the link
menu.add :label => proc{ display_name current_active_admin_user }, # email of the current admin user logged
:url => proc { my_other_awesome_path },
:html_options => {:style => 'float:left;'},
:id => 'current_user',
:if => proc{ current_active_admin_user? }
admin.add_logout_button_to_menu menu, 100, :style => 'float:left;' # logout link
end
end
end
ActiveAdmin 0.4.2以前の場合、同じファイルの末尾に次のコードを追加する必要があります。
ActiveAdmin.setup do |config|
# ...
end
module ActiveAdmin
module Views
class HeaderRenderer
alias_method :default_to_html, :to_html
def to_html
default_to_html.sub(current_admin_user.email, "<a style='text-decoration: underline;' href='#{my_awesome_path}'>#{current_admin_user.email}</b>").html_safe
end
end
end
end
お役に立てれば :)
初期化ファイルに次のように入力するだけです。
ActiveAdmin.setup do |config|
config.namespace :admin do |admin|
admin.build_menu :utility_navigation do |menu|
menu.add label: "ActiveAdmin.info", url: "http://www.activeadmin.info",
html_options: { target: :blank }
admin.add_current_user_to_menu menu
admin.add_logout_button_to_menu menu
end
end
end