Подсчет записей для блога в Ruby on Rails - простой вопрос - PullRequest
1 голос
/ 18 ноября 2009

Я новичок в рельсах, извините за простой вопрос. Я следовал нескольким урокам и создал блог с комментариями (даже используя небольшой AJAX - Ха, гордящийся собой). Я провел некоторую настройку и сейчас пытаюсь отобразить в index.html.erb счетчик комментариев, который является интерактивной ссылкой, которая ведет на страницу show.html.erb. Вот что я сделал до сих пор и не уверен, что это правильно. В comments_controller я добавил следующее:

  def count
    @post = Post.find(params[:post_id])
    @comment = @post.comments.count(params[:comment])
  end

Первый вопрос - это правильное определение для подсчета комментариев, связанных с конкретным сообщением. Второй вопрос: как мне тогда вызвать его на моей странице index.html.erb, где у меня есть следующее:

<% @posts.each do |post| %>
  <%= render :partial => post %>
  <%= link_to 'View & Add Comments', post %>
<% end %>

Как вы видите, я в настоящее время использую ссылку link_to, чтобы попасть на страницу, но в идеале хотелось бы, чтобы она показала что-то вроде: Комментарии (8).

1 Ответ

4 голосов
/ 18 ноября 2009

Избавьтесь от этого метода контроллера - замените ваш текущий link_to, например:

<%= link_to "View & Add Comments (#{post.comments.count})" %>

Если у вас уже есть объект @post для получения количества комментариев, вам просто нужно позвонить comments.count. И если вы не знакомы с интерполяцией строк, эта ссылка может помочь.

...