Forum: Italian Ruby user group gerarchia di layout

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
tarini (Guest)
on 2007-03-31 00:11
(Received via mailing list)
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 :)

--
everything has got to end sometime we were satellites drifting off into
space
vega 4 - burn and fade away
Rob C. (Guest)
on 2007-03-31 19:34
(Received via mailing list)
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
tarini (Guest)
on 2007-03-31 21:03
(Received via mailing list)
innanzitutto grazie per la risposta :)

cercherò di essere piu preciso.

praticamente io vorrei avere un layout "generale" che includa l'<head>
con i
relativi css e js e l'apertura e chiusura del <body>.

i layout "specifici" per controller dovrebbero aggiungere a questa
struttura
un titolo <h1> 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 :)

Il 31/03/07, Rob C. <removed_email_address@domain.invalid> ha scritto:
> > livello di controller (user.rhtml).
> > _______________________________________________
> > Ml mailing list
> > removed_email_address@domain.invalid
> > http://lists.ruby-it.org/mailman/listinfo/ml
> >
> _______________________________________________
> Ml mailing list
> removed_email_address@domain.invalid
> 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
Renato (Guest)
on 2007-04-02 00:25
(Received via mailing list)
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.
Massimiliano M. (Guest)
on 2007-04-02 00:32
(Received via mailing list)
> 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
Renato (Guest)
on 2007-04-02 01:05
(Received via mailing list)
Non capisco bene perchè così si:
1.upto (10) {|x| puts x}

E così no:
1.upto 10 {|x| puts x}
Federico G. (Guest)
on 2007-04-02 01:23
(Received via mailing list)
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<removed_email_address@domain.invalid> ha scritto:
Renato (Guest)
on 2007-04-02 01:29
(Received via mailing list)
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...
Federico G. (Guest)
on 2007-04-02 01:41
(Received via mailing list)
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<removed_email_address@domain.invalid> ha scritto:
Renato (Guest)
on 2007-04-02 01:45
(Received via mailing list)
Vero...
Thx.
Rob C. (Guest)
on 2007-04-02 11:48
(Received via mailing list)
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 %>
<h1>Pagine</h1>
<% if @pages %>
<ul id="pages">
  <%= render :partial => page', :collection => @pages %>
</ul>
<% 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
tarini (Guest)
on 2007-04-02 12:52
(Received via mailing list)
ok perfetto

pensavo e speravo ci fosse una soluzione diciamo più "elegante"

grazie

Il 02/04/07, Rob C. <removed_email_address@domain.invalid> ha scritto:
> http://host/controller/action dovrebbe chiamare la pagina
> <% end %>
>
> struttura
> >
> > > On 30/03/07, tarini <removed_email_address@domain.invalid> wrote:
> > > > --
> > > Ml mailing list
> > _______________________________________________
> > Ml mailing list
> > removed_email_address@domain.invalid
> > http://lists.ruby-it.org/mailman/listinfo/ml
> >
> _______________________________________________
> Ml mailing list
> removed_email_address@domain.invalid
> 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
This topic is locked and can not be replied to.