Re: Mi primera web

Si bueno, éso lo sabía que el controlador manda la variable de instancia
a la vista, pero si lo hago así da error diciendo que tengo un objeto nil.
class ApplicationController < ActionController::Base
@menu=[“Inicio”,“Banda”,“Fechas”,“Multimedia”,“Fotos”,“Libro
visitas”,“Foro”,“Contacto”]
end
Y la vista:
<% @menu.each do |m| %>
<%= link_to m, :action =>m%>
<%end%>

Asi que he pensado, si todos los controladores que me creo son herencia
de ApplicationController, para acceder a la variable de la superclase
“ApplicationController” tendría que hacer algo como ésto y añadir
“super” en el index de mi InicioController:

class ApplicationController < ActionController::Base
def index
@menu=[“Inicio”,“Banda”,“Fechas”,“Multimedia”,“Fotos”,“Libro
visitas”,“Foro”,“Contacto”]
end
end

class InicioController < ApplicationController
def index
super
list
render :action=>“list”
end
def list
@noticia_pages, @noticias = paginate :noticias, :per_page=>5
end
end

Y la vista:
<% @menu.each do |m| %>
<%= link_to m, :action =>m%>
<%end%>

Que me funciona sólo en index, en el momento en que cambie al método
list el array ya no existe y peta. Se me escapa algo, sigo sin saber
enviar el array desde el ApplicationController a la vista
application.rhtml

class ApplicationController < ActionController::Base
before_filter :menu

def menu
@menu=[“Inicio”,“Banda”,“Fechas”,“Multimedia”,“Fotos”,“Libro
visitas”,“Foro”,“Contacto”]
end
end

Con eso definirás @menu en todas las acciones de todos los controladores

Tienes razón, olvidé indicarte dónde asignar menu en cada petición! :frowning:
Menos mal que Ernesto ha estado atento, gracias :slight_smile:

Siguiendo con el ejemplo, esa nueva función que asigna los valores a
menu te da mucha flexibilidad: en ella podrás ofrecer distintas opciones
dentro de tu menú en función del usuario, la URL actual, etc…

Saludos,
Raul