Rails 4, act_as_commentable, кнопка удаления / ссылка

У меня есть модель пользователя, которая комментируется:

class User < ActiveRecord::Base
  acts_as_commentable

В контроллере Пользователи я собираю комментарии, как это:

@comments = @user.comments.recent.page(params[:notifications]).per(10)

А в представлении "Пользователи" есть частичное представление комментариев:

<% @comments.each do |comment| %>
  <p><%= time_ago_in_words(comment.created_at) %> ago</p>
  <h4><%= comment.comment %></h4>
<% end %>

У меня проблемы с добавлением ссылки или кнопки в частичную, чтобы пользователи могли удалять (желательно с помощью AJAX-вызова) отдельные комментарии. Я знаю, что это основные Rails, но я полностью потерян здесь.

Дополнительная информация:

class Comment < ActiveRecord::Base
  include ActsAsCommentable::Comment
  belongs_to :commentable, :polymorphic => true
  default_scope -> { order('created_at ASC') }
  belongs_to :user
end

Буду очень признателен за краткий и полный ответ на этот вопрос.

Я не включил маршруты. Rb, потому что в настоящее время комментарии создаются только в ответных реакциях на другие действия пользователя. Поэтому нет никакой информации относительно Комментариев в rout.rb

1 ответ

Хорошо, как обычно, решение было простым:

routes.rb:

resources :comments, only: :destroy

UsersController:

def show
  @comments = @user.comments.recent.page(params[:notifications]).per(10)
end

просмотров / пользователей / _comments.html.erb:

<% @comments.each do |comment| %>
  <span id="<%= comment.id %>">
    <p><%= time_ago_in_words(comment.created_at) %> ago</p>
    <h4>
      <%= comment.comment %>
      <%= link_to comment, method: :delete, remote: true %>
    </h4>
  </span>
<% end %>

CommentsController:

def destroy
  @user = current_user
  @comment = Comment.destroy(params[:id])
  respond_to do |format|
    format.html { redirect_to user_path(@user) }
    format.xml  { head :ok }
    format.js
  end
end

просмотров / комментарии /destroy.js.erb:

$('#<%= @comment.id %>').remove();
Другие вопросы по тегам