2012-08-28 103 views
0

你好即时从Rails书做教程,并陷入一些麻烦。Rails路由错误。没有路由匹配[邮政]“/会议/新”

虽然我尝试用我的用户名和密码,即时得到下面的错误登录:

路由错误

没有路由匹配[POST]“/会话/新” 尝试运行耙路线更多有关可用路线的信息。

这是我的路由文件配置。

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 

回答

0

您拥有控制器,而不是:会话路由的资源。

resources :sessions do 
    get 'login' => :new 
    post 'login' => :create 
    delete 'logout' => :destroy 
    end 
0

尝试用

resources :sessions 

更换

​​

确保您有一个观点/会话/ new.html.erb文件(在视图/设计/如果使用设计)

并确保你在sessions_controller.rb中有这个如果你没有使用Devise

def new 
end 
def create 
end 
def destroy 
end 
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 
+0

如果你在每行代码之间放4个空格,它将被很好地格式化和可读。 –

相关问题