Я использую полиморфную ассоциацию.
У меня есть 2 модели статей и события, которые имеют has_many
ассоциацию с моделью комментариев с использованием полиморфной ассоциации
Внутренний контроллер комментариев:
def index
@commentable = find_commentable
@comments = @commentable.comments
end
def find_commentable
params.each do |name, value|
if name =~ /(.+)_id$/
return $1.classify.constantize.find(value)
end
end
nil
end
Внутренняя статья и модель события, которую я написал:
has_many :comments, :as => :commentable,:dependent => :destroy
Внутренняя модель комментариев:
belongs_to :commentable, :polymorphic => true
Внутренние маршруты:
resources :articles do
resources :comments
end
Моя проблема
1) При вводе http://localhost:3003/articles/8/comments выдается следующая ошибка:
undefined method `comments' for nil:NilClass
2) Также я не хочу использовать вложенные маршруты, я хочу использовать простые маршруты.Как я могу добиться того же, что и этот код?