ruby-on-rails - 如何自定义事件管理布局?

标签 ruby-on-rails layout rubygems activeadmin

我需要自定义事件管理布局,但我该如何做到这一点?

最佳答案

事件管理布局实际上并未定义为布局文件,而是以编程方式生成。因此,将自定义布局放置在布局目录中实际上不会覆盖默认布局。

但是,您可以对应用程序中的事件管理布局方法进行猴子补丁或鸭子打洞。

以下内容将向标题添加特定于 ie 的样式表:

module ActiveAdmin
  module Views
    module Pages
      class Base < Arbre::HTML::Document

        alias_method :original_build_active_admin_head, :build_active_admin_head unless method_defined?(:original_build_active_admin_head)

        def build_active_admin_head
          within @head do
            meta :"http-equiv" => "Content-type", :content => "text/html; charset=utf-8"
            insert_tag Arbre::HTML::Title, [title, active_admin_application.site_title].join(" | ")
            active_admin_application.stylesheets.each do |path|
              link :href => stylesheet_path(path), :media => "screen", :rel => "stylesheet", :type => "text/css"
            end
            active_admin_application.javascripts.each do |path|
              script :src => javascript_path(path), :type => "text/javascript"
            end
            text_node csrf_meta_tag
            text_node "<!--[if lt IE 7]>
            <link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"admin_ie7.css\ />
            <![endif] -->".html_safe
          end
        end

      end
    end
  end
end

显然是一个丑陋的解决方案。

关于ruby-on-rails - 如何自定义事件管理布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7452418/

相关文章:

JavaFx——在SceneBuilder中定位组件

c# - 构建一个 c# 桌面应用程序,从头开始,请提示

ruby-on-rails - 使用 gem Tire 和 elasticsearch 进行高级搜索

ruby-on-rails - 打印 Prawn 生成的pdf

ruby-on-rails - 在 Rails 中使用 DateTime 解析自定义 DATE_FORMAT

ruby-on-rails - ActionController::UnknownFormat in Devise::SessionsController#rails 4 中的新功能

ruby-on-rails - before_save 如果 attribute.present?

ruby-on-rails - Rspec 在 "let"s 上失败

asp.net - 停止表格扩展到屏幕外

ruby-on-rails - rails 4 : Model Logic - Counting Items by a User