Die ActiveAdmin docs sagen, dass ich das Dienstprogramm Navigation wie dies außer Kraft setzen kann:Rails ActiveAdmin - get current_admin_user in Utility-Navigation?
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_logout_button_to_menu menu # can also pass priority & html_options for link_to to use
end
end
end
Er sagt auch, dass die Standard-Display-Adresse des aktuellen Benutzers E-Mail enthält. Wie erhält es die E-Mail-Adresse des aktuellen Benutzers? Wenn ich versuche, den Wert menu.add label
durch current_admin_user
zu ersetzen, erhalte ich einen Fehler, der besagt, dass current_admin_user
nicht definiert ist. Wie kann ich über die Konfigurationsdatei auf den aktuell angemeldeten Benutzer zugreifen? Wie macht ActiveAdmin es hinter den Kulissen?
Sie für den Code danken. Kannst du erklären, warum es hinter den Kulissen funktioniert und warum ich den Fehler bekommen habe, den ich bekommen habe? – Kvass
es funktioniert wegen der Verwendung von Procs, die im benötigten Kontext aufgerufen werden, so dass current_admin_user im Moment des Aufrufs von proc definiert ist – Fivell
Ok, cool danke. Auch eine Art von nicht verwandten q - wenn ein Block ein Proc ist (zu meinem Verständnis), warum kann ich nicht in einem Block, z. ': if => {current_active_admin_user? } 'und überspringe den' proc' davor? Was genau macht der 'proc' davor? – Kvass