Gerarchia di layout

salve ragazzi,
ho un doppio layout, a livello di applicazione (application.rhtml) e a
livello di controller (user.rhtml).

Come faccio a realizzare una struttura a tre livelli??
L’application include il controller che include la vista.

grazie :slight_smile:


everything has got to end sometime we were satellites drifting off into
space
vega 4 - burn and fade away

Un layout di solito contiene tutta la struttura principale di una
pagina html. Invece, potresti creare altri .rhtml che contengono
elementi communi tipo la intestazione o il menu, ecc. …

Cmq, non so se ho capito bene la tua domanda

innanzitutto grazie per la risposta :slight_smile:

cercherò di essere piu preciso.

praticamente io vorrei avere un layout “generale” che includa l’
con i
relativi css e js e l’apertura e chiusura del .

i layout “specifici” per controller dovrebbero aggiungere a questa
struttura
un titolo

e un footer

la soluzione che ho in mente è una soluzione a “tre componenti”: il
controller “riempie” una vista (action.rhtml) generando un blocco HTML,
questo blocco viene incluso nel layout relativo al controller (
controller.rhtml) che a sua volta viene incluso nel layout generale
della
webapp (application.rhtml).

tutto questo ovviamente puntando a http://host/controller/action

spero di essere stato piu chiaro che in precedenza :slight_smile:

Il 31/03/07, Rob C. [email protected] ha scritto:

livello di controller (user.rhtml).


Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml


Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml


everything has got to end sometime we were satellites drifting off into
space
vega 4 - burn and fade away

Perchè così funziona?

1.upto (10) {|x| puts x}

Uhm, cosa c’è di strano?


Massimiliano M.
code: http://dev.hyperstruct.net
blog: http://blog.hyperstruct.net

Non capisco bene perchè così si:
1.upto (10) {|x| puts x}

E così no:
1.upto 10 {|x| puts x}

Senza le parentesi tonde a delimitare il parametro del metodo upto
l’interprete si confonde e non sa come procedere.
Questo è uno dei motivi per cui le parentesi per delimitare gli
argomenti sono sempre consigliate.

Il 01/04/07, Renato[email protected] ha scritto:

Dunque: se cerco di usare un blocco in questo modo funziona

1.upto 10 do |x|
puts x
end

E va bene.
Se lo dichiaro così l’interprete dà errore:

1.upto 10 {|x| puts x}

E va ancora bene visto che le graffe hanno una priorità diversa rispetto
alla coppia do…end

La domanda
è:
Perchè così funziona?

1.upto (10) {|x| puts x}

Ciao a tutti.

Confusione in cui l’interprete non cade nel primo caso:
1.upto 10 do |x|
puts x
end
mi pare di ricordare per il discorso cui ho accennato di priorità… certo
è
un comportamento un po’ curioso, così a occhio…

do è una parola chiave che indica solo e soltanto l’inizio di un
blocco mentre { può indicare un hash o un blocco e questi elementi
possono essere passati come parametri quindi se non delimiti con le
parentesi tonde i parametri che vuoi passare l’interprete non sa bene
come comportarsi.

P.S. non ho voglia di citare un paragrafo ma se hai “Programming Ruby”
puoi leggere l’ultimo paragrafo di pag. 356

Il 01/04/07, Renato[email protected] ha scritto:

Vero…
Thx.

nessun problema!

Si potrebbe creare un sistema che sopporta 3 livelli ma se non devi
fare cose strane credo che sia meglio usare solo 2 livelli.

Per farlo con 3 livelli dovresti chiamare la .rhtml per il controller
al application.rhtml per esempio: <%= render
“#{@controller.controller_name}/controller_layout” %> (non so se devi
anche passare i parametri o se sono globale).
http://host/controller/action dovrebbe chiamare la pagina
/app/views/controller/controller_layout

Si può farlo così ma hai provato a guardare a content_for (per esempio)

<% content_for :sidebar do %>

Pagine

<% if @pages %>
    <%= render :partial => page', :collection => @pages %>
<% end %>

dopo, nel application.rhtml metti <%= yield :sidebar %>

Altrimenti, nel application.rhtml metti <%= footer %> e poi in ogni
helper

module PagesHelper
def footer
"Ciao da #{@page.title}
end
end

ok perfetto

pensavo e speravo ci fosse una soluzione diciamo più “elegante”

grazie

Il 02/04/07, Rob C. [email protected] ha scritto:

http://host/controller/action dovrebbe chiamare la pagina
<% end %>

struttura

On 30/03/07, tarini [email protected] wrote:


Ml mailing list


Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml


Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml


everything has got to end sometime we were satellites drifting off into
space
vega 4 - burn and fade away