0

こんにちは、Rails Book のチュートリアルをやっていて、トラブルに巻き込まれています。

ユーザー名とパスワードでログインしようとすると、次のエラーが表示されます。

ルーティング エラー

一致するルートがありません [POST] "/sessions/new" 使用可能なルートの詳細については、rake ルートを実行してみてください。

これは私のルートファイル構成です。

ZomfgShop::Application.routes.draw do
  get "admin/index"
  get "sessions/new"
  get "sessions/create"
  get "sessions/destroy"

  resources :users
  resources :orders
  resources :line_items
  resources :carts

  get "store/index"

  resources :products do
    get :who_bought, on: :member
  end

  resources :products

  root to: 'store#index', as: 'store'

  resources :line_items do
    #member do
    # post 'decrement'
    #end
    post 'decrement', on: :member
  end

  get 'admin' => 'admin#index'

  controller :sessions do
    get 'login' => :new
    post 'login' => :create
    delete 'logout' => :destroy
  end
4

3 に答える 3

0

ありがとうございます。routes.rbファイルをこれに変更しました。ルーティングの問題は再び正常に機能しています。

ZomfgShop::Application.routes.draw do
  get 'admin' => 'admin#index'

  controller :sessions do
    get 'login' => :new
    post 'login' => :create
    delete 'logout' => :destroy
  end
  scope '(:locale)' do
    resources :users
    resources :orders
    resources :line_items
    resources :carts
    get "store/index"
    resources :products do
      get :who_bought, on: :member
    end
  root to: 'store#index', as: 'store'
end

resources :line_items do
  #member do
  # post 'decrement'
  #end
  post 'decrement', on: :member
end
于 2012-08-28T10:04:05.790 に答える
0

:sessions ルートのリソースの代わりにコントローラーがあります。

  resources :sessions do
    get 'login' => :new
    post 'login' => :create
    delete 'logout' => :destroy
  end
于 2012-08-28T09:39:17.897 に答える
0

交換してみる

get "sessions/new"

get "sessions/create"

get "sessions/destroy"

resources :sessions

views/sessions/new.html.erb ファイルがあることを確認してください (devise を使用している場合は views/devise/ の下)

Deviseを使用していない場合は、sessions_controller.rbにこれがあることを確認してください

def new
end
def create
end
def destroy
end
于 2012-08-28T09:40:54.807 に答える