Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在Rails API中添加不使用';不需要路径中的顶级资源id_Ruby On Rails_Rest_Routes_Rails Api - Fatal编程技术网

Ruby on rails 在Rails API中添加不使用';不需要路径中的顶级资源id

Ruby on rails 在Rails API中添加不使用';不需要路径中的顶级资源id,ruby-on-rails,rest,routes,rails-api,Ruby On Rails,Rest,Routes,Rails Api,我是Rails和Ruby开发的新手,所以很抱歉,如果有人回答了这个问题,我找不到任何东西来回答我的确切问题 假设我想向资源添加一个RESTful端点,比如“表单”。我用于实际编辑和创建表单的默认CRUD操作。我想添加一个端点以允许帖子提交表单。让我们不要陷入这个计划和设计的泥潭,我用这个作为一个例子来澄清我的问题。如果我将“submission”设置为嵌套资源(这对我来说毫无意义-在本例中,submission是一个操作,而不是一个资源),则为我生成的路由需要关联表单的:id。我明白了。这就是产

我是Rails和Ruby开发的新手,所以很抱歉,如果有人回答了这个问题,我找不到任何东西来回答我的确切问题

假设我想向资源添加一个RESTful端点,比如“表单”。我用于实际编辑和创建表单的默认CRUD操作。我想添加一个端点以允许帖子提交表单。让我们不要陷入这个计划和设计的泥潭,我用这个作为一个例子来澄清我的问题。如果我将“submission”设置为嵌套资源(这对我来说毫无意义-在本例中,submission是一个操作,而不是一个资源),则为我生成的路由需要关联表单的:id。我明白了。这就是产生的原因:

/表格/:id/提交

但是,假设我希望url中仍然有/forms(因此我似乎不希望有一个浅路径范围,即我不希望做/submission),如下所示:

/表格/提交

我该怎么做?我的问题是,我试图把一个方形的钉子塞进一个圆形的洞,使它成为一种资源?在我的资源路线之外,我是否需要求助于一些明确的、非RESTful的东西:

发布“表格/提交”=>“表格#提交”

如果我缺少一些更具体的Rails/Ruby,请告诉我,因为我还在学习。但是我觉得这更像是一个休息问题,我做得不对

基本上,我已经有了创建表单的POST操作,因此在一天结束时,我只是尝试向资源“表单”添加另一个POST操作,但不需要路径中的表单id,但仍然需要路径中的表单。在这种情况下,我不在乎用户提交了哪个表单,我们对它们一视同仁,因此id不相关。我唯一关心表单id的时候是在请求或编辑表单时


谢谢

您要查找的是名称空间

在您的路由文件中:

namespace :forms do
  resources :something
end

您要查找的是名称空间

在您的路由文件中:

namespace :forms do
  resources :something
end

如果我希望为“表单”资源添加默认CRUD路由,这仍然有效吗?如果我希望为“表单”资源添加默认CRUD路由,这仍然有效吗?