0

私はRailsの初心者で、resource_linksマッピングしたコントローラーがありresourcesます:

resources :resources, :as => :resource_links, :controller => :resource_links

そして、これは機能します(基本的に/resourcesは として機能します/resource_links)。ただし、に行こうとしてもうまくいき/resources/tagsません。これを回避するために、次のようにマッピングを追加しました。

  match 'resource_links/tag/:tag(.:format)' => 'resource_links#tag', :via => :get, :as => 'resource_links_tagged', :constraints => {:tag => /.*/}
  match 'resource_links/tags' => 'resource_links#tags', :via => :get, :as => 'resource_links_tags'

/resources/tagsにマップされる方法はあります/resource_links/tagか?

4

2 に答える 2

0

はい、この方法でデフォルトの安静なルートを拡張できます

resources :resources, :as => :resource_links, :controller => :resource_links do
  collection do
    get :tags
    get 'tag/:tag', :action => :tag, :as => :tagged
  end
end

次に、の出力を見て、rake routesルート ヘルパーがどのように名前を付けたかを確認します。

  tags_resource_links GET    /resources/tags(.:format)     resource_links#tags
tagged_resource_links GET    /resources/tag/:tag(.:format) resource_links#tag
       resource_links GET    /resources(.:format)          resource_links#index
                      POST   /resources(.:format)          resource_links#create
    new_resource_link GET    /resources/new(.:format)      resource_links#new
   edit_resource_link GET    /resources/:id/edit(.:format) resource_links#edit
        resource_link GET    /resources/:id(.:format)      resource_links#show
                      PUT    /resources/:id(.:format)      resource_links#update
                      DELETE /resources/:id(.:format)      resource_links#destroy
于 2012-04-10T05:24:52.070 に答える
0

単に試してください:

  match 'resource/tag/:tag(.:format)' => 'resource_links#tag', :via => :get, :as => 'resource_links_tagged'
  match 'resource/tags' => 'resource_links#tags', :via => :get, :as => 'resource_links_tags'

OR USE LIKE (より読みやすい) :

  match 'resource/tag/:tag(.:format)', :controller => 'resource_links', :action => 'tag', :via => :get, :as => 'resource_links_tagged'
  match 'resource/tags', :controller => 'resource_links', :action => 'tags', :via => :get, :as => 'resource_links_tags'
于 2012-04-10T05:19:25.847 に答える