關注
為了避免在巢狀路由中重複,關注點提供了一種共享可重用的公共資源的好方法。要建立關注點,請使用 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