2016-02-19 1 views
1

J'ai un rails 4.2 app. Je voudrais avoir l'ensemble tr pour être cliquable et amener l'utilisateur à l'utilisateur à la page d'affichage du produit.rails links_to helper avec bloc html

Pour l'instant le html est rendu sans <href.. et je ne comprends pas exactement pourquoi. Qu'est-ce que j'ai raté?

index.html.erb

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

_product.html.erb (partielle pour la page d'index)

<%= 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; 
    } 
    } 
} 

UPDATE:

Si je m'enroule juste une petite partie de ht ml comme celui-ci, il travaille:

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

Pouvez-vous ajouter '<% = product_path (@product)%>' quelque part sur la page et laissez-nous savoir ce qu'il génère? – jeffdill2

+0

Ça marche. Je l'habitude de l'avoir avec '<% = link_to product%><% = product.name%><% end %>' et a bien fonctionné. (Je ne place que la variable d'instance dans ma question pour la rendre plus facile à lire, mais cela ne peut pas être le problème) –

+0

Excellent. Pouvez-vous l'ajouter pour que nous puissions le voir? – jeffdill2

Répondre

0

Essayez d'utiliser ce code

<tr class = "product-index-row" data-href"/product/<%[email protected]%>"> 
+0

ne fonctionne pas avec ça :( –

0

J'ai trouvé une solution. Ce n'est pas sec mais fonctionne plutôt bien.

je devais passer le lien dans chaque td comme ceci:

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