Ruby on rails "Aucune correspondance d'itinéraire"
Je suis nouveau sur les Rails et je suis juste mise en œuvre de certaines applications de base. Juste de commencer ma deuxième application et l'ont exécuté dans ce qui est un problème de base, mais Google donne moi rien.
Obtenir cette erreur:
No route matches {:controller=>"user", :action=>"admin_login"}
Voici mes itinéraires.rb
Blah::Application.routes.draw do
resources :items, :cart, :user
end
Voici mon applications.html.erb
(l'idée est c'est un en-tête de sûr, et je suis en train de créer un lien "connexion". Maintenant, c'est juste censé définir le 'login' variable de session à '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>
Et c'est mon 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
Ce qui me manque dans mon routes.rb
? Ou sinon...suis sûr que c'est quelque chose de stupide.
source d'informationauteur Chris
Vous devez vous connecter pour publier un commentaire.
Vous devez ajouter
admin_login
méthode de routes, comme:-Pour les Rails > 3, vous devez utiliser le nouveau routage syntaxe:
Voir Rails guides pour plus d'informations sur le routage.
trouver “config/routes.rb” fichier, edition, Recherchez la ligne suivante:
Dans cette ligne, ajoutez la ligne suivante, comme suit:
vous pouvez utiliser
méthode par défaut pour cet appel est post-u pouvez changer la méthode de comportement à l'aide de
Il y a une nouvelle méthode dans Rails 3. Vous pouvez utiliser les éléments suivants: