在 Rails 4 中使用小胡子模板作为部分视图?

Using mustache templates as partial views in Rails 4?

我正在尝试在 Rails 4 中使用小胡子视图,而不是一些旧的部分视图,这些视图承载了我与 javascript 应用程序共享的一些 HTML 模板。

已添加 config/initializers/mustache.rb

# Tell Rails how to render mustache templates
module MustacheTemplateHandler
  def self.call(template)
    #assigns contains all the instance_variables defined on the controller's view method
    "Mustache.render(#{template.source.inspect}, assigns).html_safe"
  end
end

# Register a mustache handler in the Rails template engine
ActionView::Template.register_template_handler(:mustache, MustacheTemplateHandler)

我将我的模板命名为 _template.mustache 并将其放在 views/sales/_template.mustache 中,我可以使用 render partial: 'template'

从正常 .html.erb 渲染它

我应该将 Template.rb 文件放在哪里才能与小胡子一起使用?

class Template < Mustache

  def something
    # return something
    "WOW"
  end

end

因此,您可以将此变量直接写入您的控制器。