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.
73d7c6e24b8b321a0bb1d9f2a4fcdf9a?d=identicon&s=25 tarini (Guest)
on 2007-03-30 22: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
8d4a94f890b9226726e6de7f71c4db49?d=identicon&s=25 Rob Clarke (Guest)
on 2007-03-31 17: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
73d7c6e24b8b321a0bb1d9f2a4fcdf9a?d=identicon&s=25 tarini (Guest)
on 2007-03-31 19: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 Clarke <clarke.rob@gmail.com> ha scritto:
> > livello di controller (user.rhtml).
> > _______________________________________________
> > Ml mailing list
> > Ml@lists.ruby-it.org
> > http://lists.ruby-it.org/mailman/listinfo/ml
> >
> _______________________________________________
> Ml mailing list
> Ml@lists.ruby-it.org
> 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
6041be931c7c06ac72627541e4595a8b?d=identicon&s=25 Renato (Guest)
on 2007-04-01 22: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.
28c29f97569429d35882fdabf09f83ee?d=identicon&s=25 Massimiliano Mirra (Guest)
on 2007-04-01 22:32
(Received via mailing list)
> Perchè così funziona?
>
> 1.upto (10) {|x| puts x}

Uhm, cosa c'è di strano?



--
Massimiliano Mirra
code: http://dev.hyperstruct.net
blog: http://blog.hyperstruct.net
6041be931c7c06ac72627541e4595a8b?d=identicon&s=25 Renato (Guest)
on 2007-04-01 23: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}
Ea0f49852120659a4b769dbc7c6e9c56?d=identicon&s=25 Federico Granata (Guest)
on 2007-04-01 23: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<renato@relhost.net> ha scritto:
6041be931c7c06ac72627541e4595a8b?d=identicon&s=25 Renato (Guest)
on 2007-04-01 23: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...
Ea0f49852120659a4b769dbc7c6e9c56?d=identicon&s=25 Federico Granata (Guest)
on 2007-04-01 23: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<renato@relhost.net> ha scritto:
6041be931c7c06ac72627541e4595a8b?d=identicon&s=25 Renato (Guest)
on 2007-04-01 23:45
(Received via mailing list)
Vero...
Thx.
8d4a94f890b9226726e6de7f71c4db49?d=identicon&s=25 Rob Clarke (Guest)
on 2007-04-02 09: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
73d7c6e24b8b321a0bb1d9f2a4fcdf9a?d=identicon&s=25 tarini (Guest)
on 2007-04-02 10:52
(Received via mailing list)
ok perfetto

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

grazie

Il 02/04/07, Rob Clarke <clarke.rob@gmail.com> ha scritto:
> http://host/controller/action dovrebbe chiamare la pagina
> <% end %>
>
> struttura
> >
> > > On 30/03/07, tarini <tarini83@gmail.com> wrote:
> > > > --
> > > Ml mailing list
> > _______________________________________________
> > Ml mailing list
> > Ml@lists.ruby-it.org
> > http://lists.ruby-it.org/mailman/listinfo/ml
> >
> _______________________________________________
> Ml mailing list
> Ml@lists.ruby-it.org
> 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.