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。啊,好的。错过了那部分!