私はログインパスをルーティングしようとしているこの問題に遭遇しましたが、達成しようとしていますGET /login
はsessions#new
POST /login
はsessions#create
に送信されます。が、Railsはこれは起動時に次のエラー発生させ同じものを使う:GETとPOSTを使って2つのレールのルートを別々のものにする
get "/login" => "sessions#new", :as => :login
post "/login" => "sessions#create", :as => :login
ないとしてこれを認識していないよう:
lib/action_dispatch/routing/route_set.rb:507:in 'add_route': Invalid route name, already in use: 'login' (ArgumentError) You may have defined two routes with the same name using the `:as` option, or you may be overriding a route already defined by a resource with the same naming. For the latter, you can restrict the routes created with `resources` as explained here: http://guides.rubyonrails.org/routing.html#restricting-the-routes-created
のベストプラクティスがresources :sessions, only: [:new, :create], as: :login
私は思いますが、操作を行うことであろうが最初に意図したように、とnew_login_path
のようなURLヘルパーを取得し、login_path
を取得しないでください。
それは本当です..全く同じ結果をもたらします - なぜ私はこれを考えなかったのか分かりません!ありがとう! –