0

我在创建通往我的应用程序的路线时遇到了一些问题,请帮助我:)

谁能向我解释为什么两级路由会呈现我的根页面,无论该路由是否真的存在。

让我举例说明:

我有路线: match '/p/novo' => 'user_roles#new', :as => :new_urole

我希望user_roles调用方法中的新方法,但它没有发生。而不是它,我的根页面被渲染并且日志显示:

在 2012-10-04 16:50:23 -0300 开始 GET "/p/novo" for 127.0.0.1 由 HomeController#index 处理为 HTML

如果我从路线中删除“/novo”,一切正常!

谁能帮我?

编辑:我不知道为什么,但是我将路由放在链接到我的根的路由上方并且它有效

我的rake:routes 工作

                    /auth/:provider/callback(.:format)                               session#create
        login_erro  /login/erro(.:format)                                            session#failure
            logout  /logout(.:format)                                                session#destroy
         new_urole  /p/novo(.:format)                                                user_roles#new
             event  /evento/:day/:month/:year/:url_name(.:format)                    events#show
                    /evento/:day/:month/:year/:url_name/confirmar_presenca(.:format) events#confirm_presence
painel_de_controle  /painel_de_controle(.:format)                                    users#control_panel
        city_index  /:state/:city(.:format)                                          home#index
              root  /                                                                home#index
4

1 回答 1

0

new_urole 不是 GET 路由,它可能是 POST 或 PUT 路由。这就是它不匹配的原因,您的请求是 GET,所以它一直下降到第一个匹配的 GET 路由根。

您需要更改您的表单 :method 以匹配您的路由方法,POST 或 PUT。

于 2012-10-04T20:10:44.093 回答