我有这个:
= 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
的块形式(我想不使用该块会导致代码更加混乱,但此时我对任何事情都持开放态度。)
Tangent :我想如果我使用:ugly
Haml选项,这将会被修复。我的Haml::Template.options[:ugly] = true
中有config/environments/development.rb
,我的Gemfile中有haml-rails
(我知道它不包括:ugly
,但值得一提),我有一个初始化器;;
# config/initializers/haml.rb
Haml::Template.options[:format] = :html5
Haml::Template.options[:ugly] = true
...但代码仍然不丑:(任何想法为什么不呢?
答案 0 :(得分:1)
如果你可以使用另一个div
内的内容,你可以使用:
= link_to user_path(f.object.user) do
%div<>
%span.hourly-rate>= f.object.user.hourly_rate.to_currency
\/hour
答案 1 :(得分:1)
javascript正在使用该范围来获取其价值(在这种情况下,用户的小时费率) - 它根本不用于CSS。
因此,我最终删除了跨度并将用户的每小时费率添加为单独字段的data-
属性。所以链接的最终标记是
= link_to f.object.user.hourly_rate.to_currency + "/hour", user_path(f.object.user)