我有一个Query资源,我想要路由到我的域的根目录。 (所以张贴到“/”会转到queries#create
行动等等。)。
我的routes.rb:
root :to => "home#index"
resources :queries, :path => ''
rake routes:
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 =>
移动到控制器的最底部时,我在GET "/"
时得到一个重定向循环,这就是为什么我的':root'定义不在底部。
当我用get "/" => "home#index", :as => "root"
替换:root定义时,它会起作用,但这对我来说太过于苛刻了。如何在root
定义中指定要使用的HTTP谓词?
答案 0 :(得分:4)
这有效:
get "/" => "home#index", :as => "root"
答案 1 :(得分:0)
您是否通过了:url => {:action =“create”}或form_for中的方法?