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 回答