处理具有归属关系的Rails路线/模型

问题描述 投票:0回答:1

所以这可能更多是一个常规问题,但是我编写了一个todo应用程序来学习如何将rails用作API(我通常在使用rails时处于中等水平,但是这次我将它与React一起使用在前端。) >

我正在制作一个简单的待办事项应用程序,其中两个模型特别是“列表”和“列表项”。当然列出has_many ListItem,列出ListItem belongs_to一个列表。

因此,我自然会像这样设置路线:

      resources :lists do
        resources :list_items
      end

为我提供类似于[/api/v1/lists/:list_id/list_items等的路线,但是,我看到有些人在做类似的应用,但设置如下:

    namespace :v1 do
      resources :list_items
      resources :lists
    end

这使我感到困惑,因为当路由本身没有List_id参数时,如何处理将实际的“列表”参数传递给路由?

或者这将以某种方式更多地用于联接表..但是无论为正确的特定列表创建List_id时,还是仍然必须填充list_item

就路由选择而言,是否存在首选的方法? (并且我想创建表吗?)既然在这种情况下has_many_through似乎不是必需的?

所以这可能更多是一个常规问题,但是我编写了一个todo应用程序来学习如何将Rails用作API(我通常在使用Rails的过程中处于中等水平,但是这次我将它与React一起使用...

ruby-on-rails
1个回答
0
投票

除非故事有更多内容,否则您将以更常规的方式进行操作。我建议您可以放心地忽略这种非嵌套的方法。我建议的唯一增强功能是使用shallow: true,例如:

namespace :api do 
  namespace :v1 do 
    resources :lists do 
      resources :list_items, shallow: true
    end
  end
end
© www.soinside.com 2019 - 2024. All rights reserved.