Je suis nouveau sur Rails et je suis en train d'implémenter quelques applications basiques. Commençant juste sur ma deuxième application et ai couru dans ce qui est un problème fondamental, mais Google ne me cède rien.Ruby on rails "Aucune correspondance d'itinéraire"
Obtenir cette erreur:
No route matches {:controller=>"user", :action=>"admin_login"}
Voici mon routes.rb
Blah::Application.routes.draw do
resources :items, :cart, :user
end
Voici mon applications.html.erb
(l'idée est un en-tête bien sûr, et je suis en train de créer un lien vers 'login' En ce moment, il est juste supposé mettre la variable de session '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>
Et ceci 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
Que me manque dans mon routes.rb
i? Ou sinon ... je suis sûr que c'est quelque chose de stupide.
donc la voie «ressources automatiques seulement de l'indice« poignées et les méthodes de public face à accéder via des verbes html? – Chris
Oui, les méthodes générées par échafaudage sont ajoutées via les ressources. – Anubhaw