Active Admin: How to set page title?

无人久伴 提交于 2019-12-23 06:51:07

问题


This seems like it should be relatively simple, but I've had some trouble tracking down the answer:

How do you set the page title in ActiveAdmin?


回答1:


Consolidating answers and adding a little:

Most of this is on this page on the wiki (or I'll put it there soon).

Within the file that registers your model for activeadmin (e.g. app/admin/user.rb), you can have

ActiveAdmin.register User do
  # a simple string
  index :title => "Here's a list of users" do
    ...
  end

  # using a method called on the instance of the model
  show :title => :name do
    ...
  end

  # more flexibly using information from the model instance
  show :title => proc {|user| "Details for "+user.name } do
    ...
  end

  # for new, edit, and delete you have to do it differently
  controller do
    def edit
      # use resource.some_method to access information about what you're editing
      @page_title = "Hey, edit this user called "+resource.name
    end
  end
end



回答2:


After searching got it,

You can add :title attribute to blocks of active admin.

e.g

1) To set title for index page,

index :title => 'Your_page_name' do
....
end

2) To set title for show page,

show :title => 'Your_page_name' do
....
end



回答3:


In case someone (like me) still struggles with action new:

def new
  @page_title="My Custom Title"
  super
end

Dont forget to add super. However, edit action doesnt need that.




回答4:


As per this post, you can use a line like the following in the action of choice:

@page_title="My Custom Title"

For example, to implement this in a pre-existing action like 'new', you would do something like this:

controller do
  def new do
    @page_title="My Custom Title"
    new! do |format|
       format.html{render "my_new"}
    end
  end
end



回答5:


Simply do

index title: "Me new title"


来源:https://stackoverflow.com/questions/16905616/active-admin-how-to-set-page-title

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!