Soy nuevo en Rails y solo estoy implementando algunas aplicaciones básicas. Empecé con mi segunda aplicación y me encontré con un problema básico, pero Google no me está dando nada.Ruby on rails "No coincide la ruta"
conseguir este error:
No route matches {:controller=>"user", :action=>"admin_login"}
Aquí está mi routes.rb
Blah::Application.routes.draw do
resources :items, :cart, :user
end
Aquí está mi applications.html.erb
(la idea es que esto es un encabezado, por supuesto, y estoy tratando de crear un enlace para 'iniciar sesión'. Ahora mismo se supone que debe establecer la variable de sesión de 'inicio de sesión' en '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>
y este es mi 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
¿Qué me falta en mi routes.rb
? O de lo contrario ... estoy seguro de que es algo tonto.
así la ruta de los 'recursos' automáticas única 'índice' asas y métodos de revestimiento públicos para acceder a través de verbos html? – Chris
Sí, los métodos generados por el andamio se agregan a través de los recursos. – Anubhaw