我是Rails的新手,只是實現了一些基本的應用程序。剛開始我的第二個應用程序,並遇到了什麼是一個基本問題,但谷歌沒有讓我什麼。Ruby on rails「沒有路線匹配」
收到此錯誤:
No route matches {:controller=>"user", :action=>"admin_login"}
這裏是我的routes.rb
Blah::Application.routes.draw do
resources :items, :cart, :user
end
這裏是我的applications.html.erb
(的想法是,這是當然的頭,我試圖創建一個'login'的鏈接,現在只需要將'login'會話變量設置爲'1'
<!DOCTYPE html>
<html>
<head>
<title>Blah</title>
<%= stylesheet_link_tag :all %>
<%= javascript_include_tag :defaults %>
<%= csrf_meta_tag %>
</head>
<body>
<div id="headerHolder">
<div id="title">blah</div>
<div id="menu">
<div class ="menuItem">blog</div>
<div class ="menuItem">
<%= link_to "products", :controller => "items",
:action => "index" %>
</div>
<div class ="menuItem">contact</div>
<div class="menuItem">
<%= link_to "cart", :controller => "cart",
:action => "index" %>
</div>
<div class="menuItem">
<%= link_to_unless_current "admin", :controller => "user",
:action => "admin_login" %>
</div>
</div>
</div>
<div id="content">
<%= yield %>
</div>
</body>
</html>
這是我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
丟失了怎麼辦?否則......肯定這是愚蠢的。
所以自動「資源」路徑只處理「索引」和麪向公衆的方法可以通過HTML動詞訪問? – Chris 2010-09-21 04:54:54
是的,腳手架生成的方法是通過資源添加的。 – Anubhaw 2010-09-21 05:10:57