Coffee HAML 中的部分内容 (.hamlc)

发布于 2025-01-03 23:05:03 字数 370 浏览 2 评论 0原文

我在 Rails 后端使用backbone.js 和 HAML Coffee,由 haml_coffee_assets 编译。我的模板中有一些重复。

有没有办法创建类似轨道的部分来干燥我的模板?

补充:我可以在 Coffee HAML 中执行 content_for(:something) 吗?

I am using backbone.js on a rails backend with HAML Coffee, which is compiled by haml_coffee_assets. There is some duplication in my templates.

Is there a way to create rails-like partials to dry up my templates?

Addition: Can I do content_for(:something) in Coffee HAML?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

本宫微胖 2025-01-10 23:05:03

Haml Coffee 中没有 content_for 帮助器,但您只需在模板中渲染另一个模板即可。

没有局部变量

例如,您有一个模板 test

%p My Partial
%ul
  %li Is included

您可以将其包含在另一个模板中,如下所示:

%p Another template
!= JST['test']()
%p That includes a partial

技巧是使用 != 对渲染的 HTML 进行转义。

使用局部变量

要传递局部变量,只需将它们发送到 JST 函数即可。如果这是您的部分 (articles/_comments.jst.hamlc):

%h2=@title
%p=@content

那么这可能是您的模板

%h1 Comments for this article
- for comment in @article.comments 
  != JST['articles/_comment'](comment)

There is no content_for helper in Haml Coffee, but you simply can render another template within a template.

Without Local Variables

For example, you've a template test:

%p My Partial
%ul
  %li Is included

You can include it within another template like this:

%p Another template
!= JST['test']()
%p That includes a partial

The trick is to unescape the rendered HTML with !=.

With Local Variables

To pass local variables, just send them to the JST function. If this is your partial (articles/_comments.jst.hamlc):

%h2=@title
%p=@content

Then this may be your template:

%h1 Comments for this article
- for comment in @article.comments 
  != JST['articles/_comment'](comment)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文