В config / routes.rb:
resources :posts do
resources :comments
end
resources :pictures do
resources :comments
end
я хотел бы также добавить больше комментариев.
В настоящее время я использую mongoid (mongomapper еще не так совместим с Rails 3, как мне хотелось бы), а комментарии - это встроенный ресурс (mongoid еще не может обрабатывать полиморфные реляционные ресурсы), Это означает, что мне действительно нужен родительский ресурс, чтобы найти комментарий.
Есть ли какие-нибудь изящные способы решения некоторых из следующих проблем:
В моем контроллере мне нужно найти родительский ресурс, прежде чем найти комментарий:
if params[:post_id]
parent = Post.find(params[:post_id]
else if params[:picture_id]
parent = Picture.find(params[:picture_id]
end
, который станет беспорядочным, если я начну добавлять больше вещей для комментариев.
Также url_for ([comment.parent, comment])
не работает, поэтому я ' m нужно будет что-то определить в моей модели Comment
, но я думаю, что мне также нужно будет определить маршрут индекса в модели Comment
, а также потенциально изменить и новое определение маршрута.
Возможно, мне придется столкнуться с другими проблемами по мере продвижения.
Не могу представить, что я первый, кто попытается решить эту проблему, есть ли какие-то решения чтобы сделать это более управляемым?