12

我已经阅读了Rails Guides

我要设置的是以下路由到“配置文件”控制器的路由:

GET profiles/charities- 应显示所有慈善机构
GET profiles/charties/:id应显示特定慈善机构
GET profiles/donors- 应显示所有捐赠者
GET profiles/donors/:id- 应显示特定捐赠者

我创建了配置文件控制器和两种方法:慈善机构和捐助者。

这就是我所需要的吗?

4

2 回答 2

22

以下将为您想要的设置路线,但会将它们映射到:indexand :showof CharitiesControllerand DonorsController

namespace :profiles do
  # Actions: charities#index and charities#show
  resources :charities, :only => [:index, :show]

  # Actions: donors#index and donors#show
  resources :donors, :only => [:index, :show]
end

当设置自定义路由更合适时,可以这样做:

get 'profiles/charities', :to => 'profiles#charities_index'
get 'profiles/charities/:id', :to => 'profiles#charities_show'
get 'profiles/donors', :to => 'profiles#donor_index'
get 'profiles/donors/:id', :to => 'profiles#donor_show'

以下是您正在阅读的指南中的相关部分:

  1. 资源路由:Rails 默认值 - 控制器命名空间和路由
  2. 非资源路由 - 命名路由
于 2013-10-16T02:39:57.053 回答
2

慈善机构和捐助者似乎是嵌套的资源。如果是这样,在你的 config/routes.rb 文件中你应该有类似的东西,

resources :profiles do
  resources :charities
  resources :donors
end

因为这些是嵌套资源,所以您不需要配置文件控制器中名为 charities 和donors 的两个方法。事实上,根据您的应用程序,您可能需要为您的慈善机构和捐助者提供单独的控制器和/或模型。

于 2013-10-16T03:05:30.817 回答