Для моего приложения рельсов ассоциации является следующим:Как написать маршруты для этих ресурсов?
- Пользователя имеет много закладок и принадлежит пользователю.
- У пользователя много друзей.
- У пользователя есть много напоминаний.
- У пользователя много комментариев.
- В закладки много комментариев.
- Комментировать принадлежит пользователю и принадлежит к закладке.
- Дружба принадлежит пользователю.
- Напоминание принадлежит пользователю
Мой routes.rb файл:
Rails.application.routes.draw do
root 'welcome#index'
get 'home', :to => 'home#index'
get 'searchApis', :to => 'home#searchApis'
devise_for :users, :controllers => { registrations: 'registrations' }
resources :users, shallow: true do
resources :bookmarks, except: :new
resources :friendships, only: [:index, :show, :destroy]
resources :reminders
end
resources :bookmarks, shallow: true do
resources :comments
end
end
я пишу эти маршруты правильно?
Когда я rake routes
, я получаю bookmarks#index
дважды, поэтому я смущен. Префикс для одного из них: bookmark
, а другой - bookmarks
. Почему это происходит?
С моей точки зрения, приложение не обязательно должно видеть все закладки в индексе, потому что они видны только пользователю, который их создал. Тем не менее, я хочу, чтобы напоминания были видны друзьям пользователя.
Я надеюсь получить предложения по очистке маршрутов, если это возможно. Я действительно сомневаюсь, что делаю это правильно.
Кроме того, я чувствую, что user_bookmarks_path и bookmarks_path является избыточным, и я не знаю, как его исправить. –
Просто подумайте о том, как вы хотите, чтобы индекс закладок отображался - вы хотите, чтобы он охватывал закладки * пользователя * или закладки на сайте? –