rails links_to helper with html block

时间:2016-02-19 12:37:26

标签: html css ruby-on-rails erb link-to

我有一个rails 4.2 app。我希望整个tr可以点击,并将用户带到用户的产品展示页面。

目前,html在没有<href..的情况下呈现,我并不完全明白为什么。我错过了什么?

index.html.erb

<div class="panel panel-default">
  <table class="table">
    <tbody class="product-profile-index">
      <%= render @products %>
    </tbody>
  </table>
</div>

_product.html.erb(索引页的部分)

<%= link_to product do %>
  <tr class = "product-index-row">
    <td class="col-md-3 name">
      <span class="product-image">
        <%= image_tag attachment_url(product, :product_image, :fill, 45, 45) %>
      </span>
      <span class="product-name">
        <%= product.name %>
      </span>
    </td>
    <td class="col-md-6 oneliner">
      <%= product.oneliner %>
    </td>
    <td class="col-md-3 updated">
      <%= local_time_ago(product.updated_at) %>
    </td>
   </tr>
<% end %>

css.scss

.product-profile-index {
  .product-index-row {
    &:hover {
      background-color: $gray-medium-light;
    }
  }
}

更新:

如果我像这样包装一小部分html,那么它正在工作:

<%=link_to product %>
  <%= product.name%>
<% end %>

2 个答案:

答案 0 :(得分:0)

尝试使用此代码

<tr class = "product-index-row" data-href"/product/<%=@product.id%>"> 

答案 1 :(得分:0)

我找到了解决方案。它不干,但工作得很好。

我必须将链接传递给每个td,如下所示:

.......
<td>
<%= link_to(product, html_options = {style:"display:block;"}) do %>
......
<% end %>
</td>
..........