Forum: Italian Ruby user group Partial Vagabondo

Posted by Chiaro Scuro (chiaroscuro)
on 2006-12-14 18:12
(Received via mailing list)
Prima di perderci la testa, qualcuno mi sa dire come andare a pescare un
partial che vive fuori da app/views con render :partial => a_path ?

(si si lo so che è una schifezza e non lo dovrei fare e probabilmente se 
lo
faccio ho sbagliato il design :-)

ho già provato sia con '../etc' che con un path assoluto ma rails mi dà 
picche..
Posted by david (Guest)
on 2006-12-14 19:22
(Received via mailing list)
Un symlink magari? tanto, se già ti trovi ad avere partial in giro,
   forse un'altra schiffezza non cambia molto!
   Ma, per curiosità, come mai ti serve? E' un partial usato in più 
   applicazioni forse?
   chiaro scuro wrote:

     Prima di perderci la testa, qualcuno mi sa dire come andare a
     pescare un
     partial che vive fuori da app/views con render :partial => a_path ?
     (si si lo so che è una schifezza e non lo dovrei fare e
     probabilmente se lo
     faccio ho sbagliato il design :-)
     ho già provato sia con '../etc' che con un path assoluto ma rails
     mi dà 
     picche..
     _______________________________________________
     Ml mailing list
     [1]Ml@lists.ruby-it.org
     [2]http://lists.ruby-it.org/mailman/listinfo/ml

--
"Remember, always be yourself. Unless you suck." - Joss Whedon

References

   1. mailto:Ml@lists.ruby-it.org
   2. http://lists.ruby-it.org/mailman/listinfo/ml
Posted by Chiaro Scuro (chiaroscuro)
on 2006-12-14 20:38
(Received via mailing list)
On 12/14/06, david <david.palm@iperbole.bologna.it> wrote:

>    Un symlink magari? tanto, se già ti trovi ad avere partial in giro,


ecco, ora mi obblighi anche ad ammettere che sono su windows. alla 
vergogna
non c'è mai fine.


>    forse un'altra schiffezza non cambia molto!
>    Ma, per curiosità, come mai ti serve? E' un partial usato in più
>    applicazioni forse?
>

sto lavorando su dei pezzi di codice riusabile che si portano dietro 
ognuno
il loro model, controller, views in un alberello tutto loro. vivono 
sotto
un'alberatura loro e non so come far credere temporaneamente a rails che
quella sia 'views'

insomma, sto volutamente andando contro l'opinone di rails.. :-)
Posted by david (Guest)
on 2006-12-14 20:48
(Received via mailing list)
LOL!

:-)

Sospettavo che eri una situazione del genere ed è - direi - uno dei
punti deboli di Rails, no? Almeno a leggere le varie comparazioni con
Django, salta spesso fuori quant'è più facile riutilizzare pezzi di un
app con il secondo.

E non è che puoi fare un plugin con un generator che ti genera delle
"istanze" del tuo alberello per ogni contesto dove ti serve? Immagino di
no, non se hai un model che parla con un db diverso da quello
dell'applicazione corrente... Hmm. Ma allora come si fa?

E se facessi il tuo alberello come un'app a sé stante e poi fai delle
chiamate REST direttamente là sopra? Devi per forza condividere state e
scope tra l'applicazione "vera" e quella dei pezzi riutilizzabili?
Potresti chiamare un URLo che restituisce l'html del partial e poi fare
un render :string (tipo)?

Boh. Solo qualche idea...

chiaro scuro wrote:
>>    forse un'altra schiffezza non cambia molto!
> _______________________________________________
> Ml mailing list
> Ml@lists.ruby-it.org
> http://lists.ruby-it.org/mailman/listinfo/ml
>

--
"Remember, always be yourself. Unless you suck." - Joss Whedon
Posted by Massimo (Guest)
on 2006-12-15 10:20
Chiaro Scuro wrote:
> Prima di perderci la testa, qualcuno mi sa dire come andare a pescare un
> partial che vive fuori da app/views con render :partial => a_path ?
> 
> (si si lo so che � una schifezza e non lo dovrei fare e probabilmente se 
> lo
> faccio ho sbagliato il design :-)
> 
> ho gi� provato sia con '../etc' che con un path assoluto ma rails mi d� 
picche..

Usa:
 render :file=>"c:/dir/_nome_partial.rhtml", :use_full_path => false

ciao
Massimo
Posted by Chiaro Scuro (chiaroscuro)
on 2006-12-15 14:42
(Received via mailing list)
mò lo provo, grazie a tutti per i consigli. spero che il weekend mi 
porti
consiglio.
proverò anche a scavare ei rails engines e productize per capire come 
fanno
loro.

On 12/15/06, Massimo <gal_nospan@addsw.it> wrote:
> picche..
>
>
> _______________________________________________
> Ml mailing list
> Ml@lists.ruby-it.org
> http://lists.ruby-it.org/mailman/listinfo/ml
>
>
>


--
Chiaroscuro

: : i'm a miner : : | therubymine.com
Posted by Chiaro Scuro (chiaroscuro)
on 2006-12-15 19:07
(Received via mailing list)
dunque, il consiglio di david di rendere queste 'componenti' un servizio 
era
un pò overkill per me ora.. e usare render :file non andava, perchè 
avevo
diversi partial da caricare

scavando in rete ho trovato sotto 'productize' questa soluzione.. da me 
un
pò hackata, da mettere sotto lib e da includere da environments.rb..


FURTHER_VIEWS_ROOT = File.join RAILS_ROOT, 'app', 'elements'

module ActionView
  class Base
    private
      def full_template_path template_path, extension
        element_path = File.join FURTHER_VIEWS_ROOT,
"#{template_path}.#{extension}"

        if File.exist? element_path
          element_path
        else #standard path
          "#{@base_path}/#{template_path}.#{extension}"
        end
      end
  end
end
Posted by david (Guest)
on 2006-12-15 19:15
(Received via mailing list)
Sembra una soluzione sensata anche se avrei forse dato la priorità
   allo standard_path piuttosto che al alternative_path (element_path 
nel
   codice)
   Cmq, pare che ActiveResource di cui si parla da un po' (un anno)
   faccia anche quello che avevo in mente, cioè fai l'app Rails e "a
   gratis" ottieni tutti i metodi come webservice REST. Leggevo stamane
   un articolo di Rick Olson che spiega un po' come funziona
   (funzionerà). Consigliato:
   [1]http://weblog.techno-weenie.net/2006/12/13/taking-ares-out-for-a-te
   st-drive
   Schiodo e vado a vedere se l'esclamazione communitaria di prima mi
   porti fortuna...
   cià
   chiaro scuro wrote:

     dunque, il consiglio di david di rendere queste 'componenti' un
     servizio era
     un pò overkill per me ora.. e usare render :file non andava, perchè
     avevo
     diversi partial da caricare
     scavando in rete ho trovato sotto 'productize' questa soluzione..
     da me un
     pò hackata, da mettere sotto lib e da includere da
     environments.rb..
     FURTHER_VIEWS_ROOT = File.join RAILS_ROOT, 'app', 'elements'
     module ActionView
      class Base
        private
          def full_template_path template_path, extension
            element_path = File.join FURTHER_VIEWS_ROOT,
     "#{template_path}.#{extension}"
            if File.exist? element_path
              element_path
            else #standard path
              [2]"#{@base_path}/#{template_path}.#{extension}"
            end
          end
      end
     end
     On 12/15/06, chiaro scuro [3]<kiaroskuro@gmail.com> wrote:

     mò lo provo, grazie a tutti per i consigli. spero che il weekend mi
     porti
     consiglio.
     proverò anche a scavare ei rails engines e productize per capire
     come
     fanno loro.
      On 12/15/06, Massimo [4]<gal_nospan@addsw.it> wrote:
     > Chiaro Scuro wrote:
     > > Prima di perderci la testa, qualcuno mi sa dire come andare a
     pescare
     > un
     > > partial che vive fuori da app/views con render :partial =>
     a_path ?
     > >
     > > (si si lo so che &#65533; una schifezza e non lo dovrei fare e
     probabilmente
     > se
     > > lo
     > > faccio ho sbagliato il design :-)
     > >
     > > ho gi&#65533; provato sia con '../etc' che con un path assoluto
     ma rails mi
     > d&#65533;
     > picche..
     >
     > Usa:
     > render :file=>"c:/dir/_nome_partial.rhtml", :use_full_path =>
     false
     >
     > ciao
     > Massimo
     >
    _______________________________________________________________________

_______________________________________________
Ml mailing list
[5]Ml@lists.ruby-it.org
[6]http://lists.ruby-it.org/mailman/listinfo/ml


--
"Remember, always be yourself. Unless you suck." - Joss Whedon

References

   1. 
http://weblog.techno-weenie.net/2006/12/13/taking-ares-out-for-a-test-drive
   2. mailto:/#{@base_path}/#{template_path}.#{extension}
   3. mailto:kiaroskuro@gmail.com
   4. mailto:gal_nospan@addsw.it
   5. mailto:Ml@lists.ruby-it.org
   6. http://lists.ruby-it.org/mailman/listinfo/ml
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.