Обработка рельсовых маршрутов / моделей с отношением own_to - PullRequest
0 голосов
/ 01 ноября 2019

Так что это может быть больше обычным вопросом, но я пишу приложение todo, чтобы узнать, как использовать rails в качестве API (я немного промежуточен с обычным использованием rails), но на этот раз я использую его с React для внешнего интерфейса.

Я делаю простое приложение todo, в частности две модели: «Списки» и «ListItems». Списки has_many ListItems, конечно же, и ListItem belongs_to a List.

Поэтому, естественно, я настроил маршруты следующим образом:

      resources :lists do
        resources :list_items
      end

Предоставляя мне маршруты, похожие на: /api/v1/lists/:list_id/list_items и т. Д., Однако я видел, как некоторые люди, работающие с подобным приложением, настраивали его следующим образом:

    namespace :v1 do
      resources :list_items
      resources :lists
    end

Что меня смущает, потому что, как бы вы справились с передачей фактических параметров "List" на маршрут, когдаСам маршрут не будет иметь List_id param?

Или это будет как-то использовано для таблицы соединений ... но вам все равно придется заполнять List_id независимо от того, когда создаете list_item дляконкретный список правильный?

Есть ли предпочтительный способ сделать это в отношении маршрутизации? (И я полагаю, создание таблиц?) Поскольку has_many_through в данном случае кажется не очень необходимым?

1 Ответ

1 голос
/ 01 ноября 2019

Если в истории нет ничего другого, вы делаете это более обычным способом. Я полагаю, что вы можете спокойно игнорировать этот не вложенный подход. Единственное улучшение, которое я предлагаю, - это использование shallow: true, например:

namespace :api do 
  namespace :v1 do 
    resources :lists do 
      resources :list_items, shallow: true
    end
  end
end

Подробнее о мелкой вложенности можно прочитать в руководстве .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...