En config/routes.rb
, vous voulez traiter les messages et les commentaires des ressources:
map.resources :posts do |post|
post.resources :comments
end
Cela vous permet d'utiliser post_comments_path(@post)
, qui se transforme en /posts/28383/comments
.
Ensuite, dans la vue qui répertorie les commentaires de la publication, ajoutez un attribut HTML id
à chaque commentaire. Par exemple:
<div id="comment-<%= comment.id %>">
<%= comment.body %>
</div>
Notez que l'attribut HTML id
est préfixé avec comment-
parce qu'il must begin with an alphabetic character.
Vous pouvez ensuite relier directement à un commentaire comme celui-ci:
<%= link_to 'Comment permalink',
post_comments_path(@post, :anchor => 'comment-' + @comment.id) %>
Notez que l'ID de poste et l'ID de commentaire sont utilisés pour des choses distinctes: l'ID de poste est utilisé pour générer la base de l'URL, tandis que l'ID de commentaire est utilisé comme point d'ancrage pour sauter vers la partie droite de la page.
Merci Ron, mais où dois-je dire que le commentaire_id n'est pas une clé unique? (sinon, j'aurais d'énormes commentaires) – Victor
Puis-je utiliser pour pouvoir avoir des ancres uniquement numériques? – Victor
Oui, vous pouvez en effet. –