簡體   English   中英

Rails HAML div作為鏈接->無法正常工作

[英]Rails HAML div as link -> not getting it worked

我嘗試制作一個完整的DIV作為鏈接,但是它只是起作用。 這就是我所擁有的:

= link_to (user_orders_path(current_user)) do
  .current_orders.box.tile.one_third.lightblue
    .count
      %i.icon-shopping-cart
      =@current_orders
    .link
      - if @current_orders > 0
        = link_to t('.current_orders'), user_orders_path(current_user)
      - else
        = t('.no_current_orders')

但是以某種方式Rails使其成為:

<a href="/users/1/orders"></a>
<div id="current_orders" class="box tile one_third lightblue">
  <a href="/users/1/orders">
    <div class="count">
      <i class="icon-shopping-cart"></i>
      3
    </div>
  </a>
  <div class="link">
     <a href="/users/1/orders"> </a>
     <a href="/users/1/orders">Open bestellingen</a>
  </div>
</div>

我究竟做錯了什么? 它應生成為:

<a href="/users/1/orders">

  <div id="current_orders" class="box tile one_third lightblue">

    <div class="count">
      <i class="icon-shopping-cart"></i>
       3
    </div>

    <div class="link">
       <a href="/users/1/orders">Open bestellingen</a>
    </div>
  </div>
</a>

我看到的第一件事是您有一個嵌套在鏈接中的鏈接,該鏈接不起作用。

聽起來您想要的行為是一個鏈接(1)僅在存在current_orders時才存在(如果不存在則只顯示一條消息),以及(2)其中可單擊區域是整個div。 這個對嗎?

如果是這樣,(1)使用if語句有條件地呈現div,並且(2)像這樣將div放在'%a'標記內。 也許是這樣的:

-if @current_orders > 0
  %a{:href => user_orders_path(current_user)}
    .current_orders.box.tile.one_third.lightblue
      .count
        %i.icon-shopping-cart
        =t('.current_orders')
        =@current_orders
- else
  .current_orders.box.tile.one_third.lightblue
    =t('.no_current_orders')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM