Использование enherited_resources для вложенных, полиморфных комментариев

StackOverflow https://stackoverflow.com/questions/4319286

Вопрос

Я новичок в использовании унаследованных ресурсов и хочу использовать их для полиморфных вложенных комментариев. У меня есть несколько объектов, которые будут комментировать (статьи, галереи и т. Д.), И комментарии также могут быть вложены. Я использую комбинацию Awesome_nest_set (parent_id, LFT, RGT) с моей моделью комментариев, имеющих полиморфные комментируемые столбцы.

Контроллер должен получить запрос AJAX (только) для действий создания и выполнить, как ниже:

Публикация в /статьи/12/Комментарии/34 Создает комментарий с комментируемым, равным @Article (12) и родителям, равным @comment (34)

/статьи/12/Комментарии/34

Публикация в /Галерея/12/Комментарии/34 Создает комментарий с комментарием, равным @gallery (12) и родителю, равным @comment (34)

Я немного застрял, с чего начать. Это хороший вариант использования для наследственных ресурсов?


class CommentsController < InheritedResources::Base 
  respond_to :js, :only => :create 
  belongs_to :article, :cheat, :gallery, :video, :polymorphic => true 
do 
    belongs_to :comments 
  end 
  def create 
    create! do |format| 
       # How in here do I build a comment so that it handles 
polymorphism? 
       @comment.children.create(:commentable => @article or @cheat or 
@something_generic?) 
    end 
  end 
end 
Это было полезно?

Решение

Вложенные комментарии сложны. Ресурсы Rails не предоставляют при передаче идентификатора для создания действия, поэтому я не думаю, что вы можете правильно публиковать действие создания. Вам может потребоваться добавить комментарий к параметрам Phine_to, чтобы вы могли опубликовать /Комментарии/33/Комментарии. Отказ Я не знаю, поддерживает ли это унаследованные Если это так, создание объекта должно быть автоматическим. Вы также можете ссылаться на такие вещи, как Parent_url.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top