В config/routes.rb
, вы хотите, чтобы обработать сообщения и комментарии как ресурсы:
map.resources :posts do |post|
post.resources :comments
end
Это позволяет использовать post_comments_path(@post)
, который превращается в /posts/28383/comments
.
Далее, в представлении, в котором перечислены комментарии к сообщению, добавьте к каждому комментарию атрибут HTML id
. Например:
<div id="comment-<%= comment.id %>">
<%= comment.body %>
</div>
Обратите внимание, что HTML атрибут id
с префиксом comment-
потому, что он must begin with an alphabetic character.
Вы можете связать непосредственно с комментарием, как это:
<%= link_to 'Comment permalink',
post_comments_path(@post, :anchor => 'comment-' + @comment.id) %>
Обратите внимание, что идентификатор сообщения и комментарий ID используются для отдельных вещей: идентификатор сообщения используется для создания базы URL, в то время как идентификатор комментария используется как якорь для перехода в правую часть страницы.
Спасибо Рон, но где я должен сказать, что comment_id не является уникальным ключом? (в противном случае у меня будут огромные комментарии) – Victor
Могу ли я использовать , чтобы иметь числовые привязки? – Victor
Да, действительно. –