Dunque,
avevo gia’ sollevato il quesito sul mio topic di presentazione ma ora
che ho avuto modo di dare una letta alla guida:
posso porre con piu’ precisione il mio quesito (che probabilmente ha una
risposta nella stessa guida che ho seguito :facepalm:)
Allora:
ho il layout di default “application.html.erb” che sfrutta yield per
“inserire” la mia “home/index.html.erb” nel resto del layout…
Bene, la mia index, fa riferimento (da quanto ho capito) al controller
“home_controller.rb”
Fin qui tutto apposto.
Il problema e’ che io pensavo di creare altri due “Controller-View”,
chiamati Header e Footer (con le rispettive View, es.
“footer/footer.html.erb”) che gestissero rispettivamente la testata e il
piede della mia applicazione…
Come faccio a inserire nel layout application queste due View?
Ho provato in questo modo:
…
<%= yield :header %>
<%= yield %>
<%= yield :footer %>
...
ma a quanto pare ho capito male…
So che forse mi sto complicando la vita e che probabilmente ancora non
ci ho capito un acca, quindi siate liberi di criticare le mie decisioni
e di illuminarmi verso la retta via!
Per popolare le varie yield puoi usare l’helper actionview content_for
Se header e footer sono uguali per tutto il sito ti conviene usare un
partial e metterlo nella cartella app/views/shared/_footer.html.erb e
poi
chiamarlo da application.html.erb con <%= render “shared/footer” %>
Per popolare le varie yield puoi usare l’helper actionview content_for
Grazie, appena posso do’ un occhiata!
Se header e footer sono uguali per tutto il sito ti conviene usare un
partial e metterlo nella cartella app/views/shared/_footer.html.
erb e poi
chiamarlo da application.html.erb con <%= render “shared/footer” %>
Ecco, e’ proprio per questo che ho creato due controller-view: Header,
Footer… in quanto sono si due porzioni uguali per tutto il sito, ma
potrebbero non essere statiche… quindi mi sembrava giusto creare
proprio
delle entit per entrambi…
Ecco, e’ proprio per questo che ho creato due controller-view: Header,
Footer… in quanto sono si due porzioni uguali per tutto il sito, ma
potrebbero non essere statiche… quindi mi sembrava giusto creare proprio
delle entit per entrambi…
Se la logica non estremamente complessa puoi spostarne quanto riesci
sul
model e scrivere degli helper da usare poi nei partial.
Se per devi realizzare un sito con molti widget e componenti potresti
utilizzare la gemma “cells” in cui ogni cella ha il suo controller ma
nel
tuo caso la trovo sovradimensionata per il problema.