【问题标题】:Use Haml files in Redmine plugin在 Redmine 插件中使用 Haml 文件
【发布时间】:2014-01-15 00:10:06
【问题描述】:

我正在创建一个 Redmine 插件,并希望将 Haml 用于视图模板。有一个现有的插件,它具有 Haml 视图 (ekanban),它不包含任何特殊代码来让 Haml 工作,除了让您将 require 'haml' 添加到主应用程序的 Gemfile

这就是发生的事情 - 模板系统正确加载 .html.haml 文件,但呈现 HAML 标记(就像呈现 ERB 一样)。

我尝试以不同的间隔插入require 'haml',但无济于事。我什至尝试按照this SO question 中的建议手动尝试激活Haml.init_rails(...)。我尝试在几个地方插入它,在插件的init.rb 文件中的Rails.configuration.to_prepare 块中尝试过。我试过告诉 Gemfile 不要require 'haml' 并在插件加载期间尝试这样做无济于事。什么给了?

【问题讨论】:

    标签: ruby-on-rails-3 plugins haml redmine rails-engines


    【解决方案1】:

    视图模板中包含 Textile,我没有注意到,因为 <h2> 的标记相似(h2.%h2)。在插件的Gemfile 中包含gem 'haml_rails' 就足够了,不需要额外的代码。

    【讨论】:

      【解决方案2】:

      仔细阅读Installation instruction 了解此宝石:)

      将“gem 'haml'”添加到您的#{RAILS_ROOT}/Gemfile

      我不能同意这个策略:插件不能改变Redmine核心!任何 Redmine 插件都可以有自己的 gem(在自己的 Gemfile 中定义) - 所以我认为你可以在插件中创建 Gemfile,从 Redmine 根目录运行 bundle install,我相信你会设法使用 Haml

      【讨论】:

      • 我确实将gem 'haml' 放在${RAILS_ROOT}/Gemfile 中,如第一段所述。我还尝试在插件的Gemfile 中定义它。同样的问题。
      • 你在 Gemfile 中更改后运行bundle install 了吗?
      • 是的,这是向 Gemfile 添加内容时的标准程序
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-11
      • 2016-03-31
      • 2013-06-07
      • 1970-01-01
      相关资源
      最近更新 更多