关注
为了避免在嵌套路由中重复,关注点提供了一种共享可重用的公共资源的好方法。要创建关注点,请使用 routes.rb
文件中的 concern
方法。该方法需要一个符号和块:
concern :commentable do
resources :comments
end
虽然本身不创建任何路由,但此代码允许在资源上使用:concerns
属性。最简单的例子是:
resource :page, concerns: :commentable
等效的嵌套资源如下所示:
resource :page do
resource :comments
end
例如,这将构建以下路由:
/pages/#{page_id}/comments
/pages/#{page_id}/comments/#{comment_id}
为了使问题有意义,必须有多种资源利用这种关注。其他资源可以使用以下任何语法来调用问题:
resource :post, concerns: %i(commentable)
resource :blog do
concerns :commentable
end