【问题标题】:Element class in HamlHaml 中的元素类
【发布时间】:2012-04-03 14:54:07
【问题描述】:

我在 Ruby on Rails 项目中使用 Haml。我知道您使用 = 符号来执行 Ruby,但到目前为止我所看到的是 Ruby 代码必须是一行的最后一部分。

我正在尝试动态地将一个类添加到th 元素。 (如果相关:每个 td 还包含更多 Ruby。)

我有以下代码:

%th= link_to 'Name', res_path

我想给th添加一个类,这个类的名字在一个名为class_name的实例变量中。我试过这个:

%th.=@class_name

但它不起作用。

如何使用 Haml 在同一行中包含两次 Ruby 代码?

【问题讨论】:

    标签: ruby-on-rails-3 haml


    【解决方案1】:

    您可以使用link_to 标记的html_options,然后在其中添加类。我认为这是执行此操作的标准方式。

    【讨论】:

    • 谢谢,但这会将类添加到“a”而不是“th”
    【解决方案2】:

    Alok 提供的 html_options 解决方案会将类添加到“a”标签中。我会通过两行而不是一行来执行此操作:

    %th{ :class => @class_name }
      = link_to 'Name', res_path
    

    【讨论】:

    • 谢谢,这就是我要找的
    【解决方案3】:

    正如@DavB 所指出的,只有静态文本可以与./# 表示法一起使用。否则,您可以将您的选项传递给您的辅助方法(如果它接受它们),或者更普遍地使用 %th{:class => @name} 中的哈希属性。这将导致<th class="namevalue">

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-08
      • 2011-12-26
      • 1970-01-01
      • 2018-12-12
      • 2015-04-21
      • 1970-01-01
      • 1970-01-01
      • 2014-08-10
      相关资源
      最近更新 更多