在 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
因此,您可以将此变量直接写入您的控制器。
我正在尝试在 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
因此,您可以将此变量直接写入您的控制器。