问题
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