gch*_*ain 13 ruby-on-rails activeadmin
我想在ActiveAdmin的标题处添加link_to("Edit yout profile",edit_user(current_user))等链接.那可能吗 ?!
kri*_*lim 18
最新版本的ActiveAdmin允许您在active_admin.rb初始化程序中执行此操作:
config.namespace :admin do |admin|
admin.build_menu do |menu|
menu.add :label => 'Custom Menu' do |submenu|
submenu.add :label => 'Custom Link', :url => custom_path
end
end
end
Run Code Online (Sandbox Code Playgroud)
ray*_*ban 12
对于最新版本的活动管理员,有两种解决方案,两种都是不幸的.
您menu false可以将任何资源设置为menu label: "Google", url: "http://www.google.com".这很不幸,因为如果您使用的是设置它的资源,则会将其突出显示为已选中.
另一个解决方案是覆盖ActiveAdmin::Views::Header上面的内容,但更新了.
module ActiveAdmin
module Views
class Header < Component
def build_global_navigation
item = ActiveAdmin::MenuItem.new(label: "google", url: "http://www.google.com")
@menu.add item
insert_tag view_factory.global_navigation, @menu, :class => 'header-item'
end
end
end
end
Run Code Online (Sandbox Code Playgroud)
这不能完全正确,因为你不能设置parent: "Developer"菜单项之类的东西...无论如何,我可以做一个分叉,这样你就可以在初始化器中添加项目到特定的命名空间......有没有人打开一个问题为了这?我没有看到一个.
更新:我认为这是实现这一目标最简洁的方法(没有为主动管理员做出贡献).
ActiveAdmin.register_page "Queue" do
menu parent: "Developer", url: '/admin/resque'
end
Run Code Online (Sandbox Code Playgroud)
如果您使用的是具有自定义页面功能的更高版本的ActiveAdmin,则可以执行以下操作:
ActiveAdmin.register_page "Store Admin" do
controller do
define_method(:index) do
redirect_to "/store/admin"
end
end
end
Run Code Online (Sandbox Code Playgroud)
这会覆盖index通常只呈现页面的PageController 的操作,但您可以将其重定向到您想要去的任何位置,例如edit_user_path
Siw*_*申思维 -2
根据 @phoet 提到的帖子,(/sf/answers/505301891/)尝试以下代码:
module ActiveAdmin
module Views
class HeaderRenderer
def to_html
title + global_navigation + profile_link + utility_navigation
end
def profile_link
link_to ("Edit yout profile", edit_user (current_user))
end
end
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13837 次 |
| 最近记录: |