所以这可能更多是一个常规问题,但是我编写了一个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一起使用...
除非故事有更多内容,否则您将以更常规的方式进行操作。我建议您可以放心地忽略这种非嵌套的方法。我建议的唯一增强功能是使用shallow: true
,例如:
namespace :api do
namespace :v1 do
resources :lists do
resources :list_items, shallow: true
end
end
end