当前位置:  开发笔记 > 编程语言 > 正文

Ruby on rails"没有路由匹配"

如何解决《Rubyonrails"没有路由匹配"》经验,为你挑选了2个好方法。

我是Rails的新手,我只是实现了一些基本的应用程序.刚刚开始我的第二个应用程序并遇到了什么是基本问题,但谷歌什么都没有让我感到满意.

得到此错误:

No route matches {:controller=>"user", :action=>"admin_login"}

这是我的routes.rb

Blah::Application.routes.draw do
  resources :items, :cart, :user
end

这是我的applications.html.erb(想法是这是一个标题当然,我正在尝试创建一个'登录'的链接.现在它只是应该将'登录'会话变量设置为'1'.




  Blah
  <%= stylesheet_link_tag :all %>
  <%= javascript_include_tag :defaults %>
  <%= csrf_meta_tag %>



blah
<%= yield %>

这是我的user_controller.rb

class UserController < ApplicationController

  def index
  end

  def admin_login
    session[:login] = 1
    session[:cart] = nil
    flash[:notice] = "Admin user successfully logged in, cart reset."
    redirect_to :controller => :items
  end

end

我错过了什么routes.rb?或者其他......我确定这是愚蠢的事情.



1> Simon Perepe..:

对于Rails> 3,您应该使用新的路由语法:

resources :items, :cart

resource :user do
  # Route GET /user/admin_login
  get 'admin_login', :on => :collection
end

有关路由的详细信息,请参阅Rails指南.



2> Anubhaw..:

您需要为admin_login路线添加方法,例如: -

map.connect '/user/admin_login', :controller => 'users', :action => 'admin_login'

推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有