【问题标题】:How to add custom Haml helper to Rails project?如何将自定义 Haml 助手添加到 Rails 项目?
【发布时间】:2011-09-23 16:16:14
【问题描述】:

我创建了 Haml 助手并将其作为文件放在路径 app/helpers/haml_helper.rb 中

module Haml::Helpers
  def build_segment(files)
    files.each do |f|
      if f[:dir] == nil
        haml_tag :li do
          haml_tag :a, :class=>"file", :href=>f[:name] do
            f[:name]
          end
        end
      else
        haml_tag :li do
          haml_tag :a, :class=>"folder", :href=>f[:name] do
            f[:name]
          end
        end
        haml_tag :ul do
          build_segment(f[:dir])
        end
      end
    end
  end
end

但是我有一个错误:

LoadError in SourceFilesController#index
Expected /home/megas/Work/read_the_code/app/helpers/haml_helper.rb 
to define HamlHelper

SourceFilesController#index 是一个将使用此自定义帮助程序的操作。

如何在项目中添加自定义的haml helper?

【问题讨论】:

    标签: ruby-on-rails haml helper


    【解决方案1】:

    所以,当你有 haml_helper.rb 时,它希望它定义 HamlHelper .... 但你想要 Haml::Helper。所以:

    /helpers/haml/helpers
    

    当您有命名空间控制器时也是如此。 Admin::CustomersController 位于 app/controllers/admin/customers_controller.rb

    【讨论】:

    • 在某篇文章中我读到我应该将 haml 助手放在 Haml::Helper 模块中。实际上它应该在控制器的助手中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-08
    • 1970-01-01
    • 2023-04-02
    • 2017-08-08
    • 1970-01-01
    相关资源
    最近更新 更多