相关疑难解决方法(0)

如果条件在Haml中为真,则追加类

如果 post.published?

.post
  / Post stuff
Run Code Online (Sandbox Code Playgroud)

除此以外

.post.gray
  / Post stuff
Run Code Online (Sandbox Code Playgroud)

我用rails helper实现了它,看起来很难看.

= content_tag :div, :class => "post" + (" gray" unless post.published?).to_s do
  / Post stuff
Run Code Online (Sandbox Code Playgroud)

第二种变体:

= content_tag :div, :class => "post" + (post.published? ? "" : " gray") do
  / Post stuff
Run Code Online (Sandbox Code Playgroud)

是否有更简单和特定于haml的方式?

UPD.特定于Haml,但仍然不简单:

%div{:class => "post" + (" gray" unless post.published?).to_s}
  / Post stuff
Run Code Online (Sandbox Code Playgroud)

ruby haml

150
推荐指数
5
解决办法
7万
查看次数

用三元运算符表示条件HAML

试图用一种更简洁的方式在HAML和Ruby中表达这个条件,也许用三元运算符:

- if @page.nil?
  %br (nothing yet)
- else
  %br #{@page.name}
Run Code Online (Sandbox Code Playgroud)

(根据Neat方式寻找类似的方法来有条件地测试是否在HAML模板中添加类)

你的帮助将不胜感激:)

ruby haml sinatra

6
推荐指数
1
解决办法
6202
查看次数

标签 统计

haml ×2

ruby ×2

sinatra ×1