Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 活动管理员:如何设置页面标题?_Ruby On Rails_Ruby On Rails 3_Activeadmin - Fatal编程技术网

Ruby on rails 活动管理员:如何设置页面标题?

Ruby on rails 活动管理员:如何设置页面标题?,ruby-on-rails,ruby-on-rails-3,activeadmin,Ruby On Rails,Ruby On Rails 3,Activeadmin,这似乎应该相对简单,但我在寻找答案时遇到了一些困难: 如何在ActiveAdmin中设置页面标题?根据,您可以在选择的操作中使用如下行: @page_title="My Custom Title" 例如,要在“新建”等预先存在的操作中实现此功能,您可以执行以下操作: controller do def new do @page_title="My Custom Title" new! do |format| format.html{render "my_new

这似乎应该相对简单,但我在寻找答案时遇到了一些困难:

如何在ActiveAdmin中设置页面标题?

根据,您可以在选择的操作中使用如下行:

@page_title="My Custom Title"
例如,要在“新建”等预先存在的操作中实现此功能,您可以执行以下操作:

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

搜索后得到了它

您可以将:title属性添加到活动管理的块中

e、 g

1) 要设置索引页的标题

index :title => 'Your_page_name' do
....
end
2) 要设置显示页面的标题

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

整合答案并添加一点:

大部分都是开着的(或者我很快就会放在那里)

在为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
干脆

index title: "Me new title"
如果有人(如我)仍在为行动而挣扎
new

def new
  @page_title="My Custom Title"
  super
end
别忘了添加
super
。但是,
edit
操作不需要这样做。

我的示例:

两个模型及其关联:
课程
我想在课程索引页面中显示课程标题,我测试了两种方法

只是为了索引
ActiveAdmin.register.do
属于:当然,可选:真
许可证参数:标题
控制器do
def索引
@page_title=“#{Course.find(params[:Course_id])。try(:title)}”
超级的
结束
结束
还是所有的行动
ActiveAdmin.register.do
属于:当然,可选:真
许可证参数:标题
控制器do
行动前{
@page_title=“#{Course.find(params[:Course_id])。try(:title)}”
}
结束
结束
然后您可以使用@page\u标题

index:title=>@page\u title do
可选列
id_列
专栏:标题
行动
结束

如果我答对了您的问题,您希望在activeadmin中重命名一个模型,使其在所有操作中以另一个名称显示,例如,将“Post”模型重命名为在activeadmin中显示“Article”,要做到这一点,只需转到Admin文件夹中的模型文件,并将第一行更改为

ActiveAdmin.register Post do


如果出现问题,请重新启动rails服务器、docker或其他任何程序。如果您使用的是
ActiveAdmin.register\u page
,并且要在顶部设置菜单名和页面名,请尝试以下操作:

ActiveAdmin.register_page "ReleaseNotes" do
  menu label: "Release Notes"
  
  content title: "Release Notes" do
    render partial: 'index'
  end
end

有关更多详细信息,请参阅签出:带有块的方法定义
def new do
是否确定?
ActiveAdmin.register_page "ReleaseNotes" do
  menu label: "Release Notes"
  
  content title: "Release Notes" do
    render partial: 'index'
  end
end