2012-04-17 127 views
2

我有一個查詢資源,我想要路由到我的域的根。 (所以張貼到「/」去queries#create行動,等等......)。Rails路由:從根路徑資源「/」

我的routes.rb:

root :to => "home#index" 
resources :queries, :path => '' 

耙路線:

  root  /           home#index 
     queries GET /           queries#index 
       POST /           queries#create 

一切似乎都很好,但是當我嘗試發佈到 「/」,它以某種方式得到路由到「root_path ',儘管我通過POST提交。因此,而不是創建一個新的查詢項目,它只是重新加載主頁。我在日誌中得到這個:

Started POST "/" for 127.0.0.1 at 2012-04-16 20:34:58 -0400 
Processing by HomeController#index as HTML 

任何想法我做錯了什麼?

編輯

當我移動:root =>控制器的最底部,我得到一個重定向循環,當我GET "/",這就是爲什麼我「:根」的定義是不是在底部。

編輯

它的工作原理,當我更換:與get "/" => "home#index", :as => "root"根定義,但感覺太的hackish給我。如何指定要在root定義中使用的HTTP動詞?

回答

4

這工作:

get "/" => "home#index", :as => "root"

0

您是否在您的form_for中傳遞:url => {:action =「create」}或方法?

+0

是的,這是一個普通的形式,它工作得很好,當查詢是資源正常。 – bevanb 2012-04-17 00:52:19

+0

你做得對,你應該指定控制器和你想要設置爲Web應用程序根目錄的操作。如果你有任何問題,我會參考[Rails Guides](http://guides.rubyonrails.org/routing.html) – icantbecool 2012-04-17 02:04:58