这似乎应该相对简单,但我在跟踪答案时遇到了一些麻烦:
如何在ActiveAdmin中设置页面标题?
答案 0 :(得分:18)
整合答案并添加一点:
大部分内容都在this page on the wiki上(或者我很快就会把它放在那里)。
在为activeadmin注册模型的文件中(例如app / admin / user.rb),你可以拥有
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
答案 1 :(得分:8)
搜索完毕后,
您可以将:title属性添加到活动管理员的块中。
例如
1)设置索引页面的标题,
index :title => 'Your_page_name' do
....
end
2)为节目页面设置标题,
show :title => 'Your_page_name' do
....
end
答案 2 :(得分:2)
如果有人(像我一样)仍在努力采取行动new
:
def new
@page_title="My Custom Title"
super
end
别忘了添加super
。但是,edit
操作不需要这样做。
答案 3 :(得分:1)
根据this post,您可以在选择的操作中使用如下所示的行:
@page_title="My Custom Title"
例如,要在“new”之类的预先存在的操作中实现此功能,您可以执行以下操作:
controller do
def new do
@page_title="My Custom Title"
new! do |format|
format.html{render "my_new"}
end
end
end
答案 4 :(得分:1)
如果我的问题没错,您想重命名activeadmin中的模型以使其在所有操作中都具有另一个名称,例如,将“ Post”模型重命名为ActiveAdmin中的“ Article”,这样做只需转到模型管理员文件夹中的文件,第一行更改为
ActiveAdmin.register Post do
到
ActiveAdmin.register Post, as: "Article"
如果出现问题,请重新启动Rails服务器,泊坞窗或其他设备
答案 5 :(得分:0)
简单地做
index title: "Me new title"
答案 6 :(得分:0)
我的例子:
class Course < ApplicationRecord
has_many :lessons, dependent: :destroy
end
class Lesson < ApplicationRecord
belongs_to :course
end
我想在课程索引页面上显示课程标题,我测试了两种方法。
ActiveAdmin.register Lesson do
belongs_to :course, optional: true
permit_params :title
controller do
def index
@page_title = " #{Course.find(params[:course_id]).try(:title)}"
super
end
end
ActiveAdmin.register Lesson do
belongs_to :course, optional: true
permit_params :title
controller do
before_action {
@page_title = " #{Course.find(params[:course_id]).try(:title)}"
}
end
end
然后您可以使用@page_title
index :title=> @page_title do
selectable_column
id_column
column :title
actions
end
答案 7 :(得分:0)
如果您使用 ActiveAdmin.register_page
并希望在顶部设置菜单名称和页面名称,请尝试以下操作:
ActiveAdmin.register_page "ReleaseNotes" do
menu label: "Release Notes"
content title: "Release Notes" do
render partial: 'index'
end
end