Я использую полиморфную ассоциацию.ошибка полиморфной ассоциации
У меня есть 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
Внутренние комментарии модель:
Внутренние маршруты:
resources :articles do
resources :comments
end
моя проблема заключается в том
1) Когда я вхожу http://localhost:3003/articles/8/comments он выдает следующее сообщение об ошибке:
undefined method `comments' for nil:NilClass
2) Кроме того, я не хочу, чтобы использовать вложенные маршруты , Я хочу использовать простые маршруты. Как я могу достичь того же, что и этот код?
есть статья с идентификатором 8 .... я думаю find_commentable функция не возвращает commentable правильно ... но у меня есть еще 1 сомнения, вэнь я нажимаю комментарии ссылки он идет к индексу действию, а затем find_commentable функция, когда эта функция выполняется, что входит в params и name, значение в этой строке params.each do | name, value | внутри этой функции – Nikita