0

アプリへのルートの作成に問題があります。助けてください:)

ルートが実際に存在するかどうかに関係なく、2 レベルのルートがルート ページをレンダリングする理由を誰かに説明してもらえますか。

例を挙げましょう:

私はルートを持っています: match '/p/novo' => 'user_roles#new', :as => :new_urole

メソッドから新しいメソッドuser_rolesが呼び出されることを期待していましたが、起こりません。代わりに、ルート ページがレンダリングされ、ログに次のように表示されます。

2012-10-04 16:50:23 -0300 で 127.0.0.1 の GET "/p/novo" を開始 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 ルートであるルートまで落ちます。

ルート メソッド、POST または PUT に一致するようにフォーム :method を変更する必要があります。

于 2012-10-04T20:10:44.093 に答える