0

我有这个:

= link_to user_path(f.object.user) do
  %span.hourly-rate>= f.object.user.hourly_rate.to_currency
  \/hour

呈现为:

<a href="/users/44"><span class='hourly-rate'>$16</span>/hour
</a>

关闭标签位于单独的行上。当有下划线时(例如悬停时),这会导致链接看起来很有趣

下划线用于一个字符太长

解决方案是让标记看起来像:

<a href="/users/44"><span class='hourly-rate'>$16</span>/hour</a>

但我还没有在 Haml 中找到这样做的方法。如果可能的话,我宁愿继续使用块形式link_to(我想不使用块会导致代码更加混乱,但此时我对任何事情都持开放态度)。

切线:ugly:我想如果我使用Haml 选项,这将得到解决。我Haml::Template.options[:ugly] = trueconfig/environments/development.rb,haml-rails我的 Gemfile 中有(我知道它不包括:ugly,但值得一提),我有一个初始化器;

# config/initializers/haml.rb
Haml::Template.options[:format] = :html5
Haml::Template.options[:ugly] = true

...但是代码仍然不难看:(有什么想法为什么不呢?

4

2 回答 2

1

如果您可以接受包含在另一个内容中的内容div,则可以使用以下方法:

= link_to user_path(f.object.user) do
  %div<>
    %span.hourly-rate>= f.object.user.hourly_rate.to_currency
    \/hour
于 2012-12-28T14:12:53.643 回答
1

javascript 使用 span 来获取它的值(在这种情况下,是用户的每小时费率)——它根本没有用于 CSS。

因此,我最终删除了跨度并将用户的小时费率添加为data-单独字段的属性。所以链接的最终标记是

= link_to f.object.user.hourly_rate.to_currency + "/hour", user_path(f.object.user)
于 2012-12-31T06:00:35.193 回答