2012-04-17 15 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で提出しています。そのため、新しいQuery項目を作成する代わりに、ホームページをリロードするだけです。ログに次のように表示されます。

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

私は間違っていると思いますか? 「:ルート」の定義下にない

私は、コントローラの一番下に:root =>を移動編集

は、私は私が理由ですリダイレクトループI GET "/"を取得します。

編集

私は交換するときに動作します:get "/" => "home#index", :as => "root"とルートの定義を、それは私にはあまりにもハック感じています。 root定義で使用するHTTP動詞を指定するにはどうすればよいですか?

答えて

4

これは動作します:

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

0

:url => {:action = "create"}またはフォームをform_forに渡していますか?

+0

はい、それは通常のフォームだし、クエリが正常に資源いたとき、それがうまく働きました。 – bevanb

+0

これは正しいことです。コントローラと、Webアプリケーションルートとして設定するアクションを指定する必要があります。もう質問がある場合は、[Rails Guides](http://guides.rubyonrails.org/routing.html)を参照してください。 – icantbecool

関連する問題