ruby-on-rails
  • haml
  • 2012-12-28 33 views 0 likes 
    0

    刪除空白塊中的我有這樣的:在Haml的

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

    這使得爲:

    <a href="https://stackoverflow.com/users/44"><span class='hourly-rate'>$16</span>/hour 
    </a> 
    

    的密切標籤是在單獨一行。這導致鏈接看有趣,當有下劃線(如懸停)

    The underlining goes for one character too long

    的解決方案是有標記的樣子:

    <a href="https://stackoverflow.com/users/44"><span class='hourly-rate'>$16</span>/hour</a> 
    

    但我還沒有找到一個在Haml做這件事的方法。如果可能的話,我寧願繼續使用link_to的塊形式(我想不使用塊會導致更混亂的代碼,但在這一點上,我對任何東西都是開放的)。

    切線:我想如果我使用的是Hamlet選項,那麼這個問題將會被修復。我在我的config/environments/development.rb中有Haml::Template.options[:ugly] = true,在我的Gemfile中我有haml-rails(我知道它不包括:ugly,但值得一提),並且我有一個初始化程序;

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

    ...但代碼仍然是不醜:(任何想法,爲什麼不

    +0

    你如何設計鏈接?我懷疑這可能更容易通過更改您的CSS而不是您的標記來解決。 – matt

    回答

    1

    跨度曾使用JavaScript,以便得到其數值(在這種情況下,用戶的時薪) - 它沒有被用於CSS在所有

    因此,我最終消除跨度並將用戶的小時費率作爲單獨字段的data-屬性添加。所以鏈接的最終標記是

    = link_to f.object.user.hourly_rate.to_currency + "/hour", user_path(f.object.user) 
    
    1

    如果你可以用包裹在裏面另一個div內容直播,您可以使用此:

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

    這會工作,但它並不理想。如果沒有別的辦法,我想我必須去做。我想到的另一件事是手寫所有的HTML,但都沒有吸引力。 –

    相關問題