3

我有一个要路由到我的域根目录的查询资源。(所以张贴到“/”去queries#create行动,等等......)。

我的路线.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 "/",这就是为什么我的 ':root' 定义不在底部的原因。

编辑

当我将 :root 定义替换为 时,它可以工作get "/" => "home#index", :as => "root",但这对我来说太老套了。如何指定要在root定义中使用的 HTTP 动词?

4

2 回答 2

4

这有效:

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

于 2012-04-20T21:20:24.223 回答
0

您是在传递 :url => {:action = "create"} 还是 form_for 中的方法?

于 2012-04-17T00:46:53.353 回答