Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.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中使用on::new route的真实示例是什么?_Ruby On Rails - Fatal编程技术网

Ruby on rails 在Rails中使用on::new route的真实示例是什么?

Ruby on rails 在Rails中使用on::new route的真实示例是什么?,ruby-on-rails,Ruby On Rails,我理解,当您为特定成员创建自定义路由时,您将使用 resources :photos do get 'preview', on: :member end 例如,如果你想删除一整组评论,你可以使用 resources :comments do delete :destroy_all, on: :collection end 但在哪种情况下,您会在::new上使用。有人能给出一个详细的例子,而不是仅仅指向那些只说 .10.3为其他新操作添加路由 要使用:on快捷方式添加备用新操作

我理解,当您为特定成员创建自定义路由时,您将使用

resources :photos do
  get 'preview', on: :member
end
例如,如果你想删除一整组评论,你可以使用

resources :comments do
      delete :destroy_all, on: :collection
end
但在哪种情况下,您会在::new上使用。有人能给出一个详细的例子,而不是仅仅指向那些只说

.10.3为其他新操作添加路由 要使用:on快捷方式添加备用新操作,请执行以下操作:

resources :comments do
  get 'preview', on: :new
end
这将使Rails能够识别路径,例如/comments/new/preview with GET,并路由到的预览操作 评论控制器。它还将创建预览\新建\注释\ url 和预览路径路径路径帮助器


文档中的例子实际上是一个很好的现实例子

假设您有一个
注释
模型,它存储用户的注释。此外,您希望能够接受新的评论,并允许用户预览其评论的外观,而无需实际保存评论

使用标准积垢控制器,流量将为:

  • 注释/新建以呈现注释表单(表单操作指向注释/创建)
  • 注释/创建以创建注释记录
在此场景中,还有一个附加步骤:

  • 注释/新建以呈现注释表单(表单操作指向注释/新建/预览)
  • comments/new/preview可在保存之前预览注释格式
  • 注释/创建以创建注释记录
因此,
on::new
允许您在新操作的基础上执行另一个操作。现在,您可能会问自己,为什么不仅仅是收藏集上的
on::new
on?因为:集合用于对所有注释进行操作的路由,而“comments/new/preview”显然对单个未保存的注释进行操作


我希望这是清楚的。如果我能更详细地解释,请告诉我。

为什么不只打开::member?因为member需要保存记录的:id。啊,好的。错过了那部分!