Partial Vagabondo

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 :slight_smile:

ho già provato sia con ‘…/etc’ che con un path assoluto ma rails mi dà
picche…

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][email protected]
 [2]http://lists.ruby-it.org/mailman/listinfo/ml


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

References

  1. mailto:[email protected]
  2. http://lists.ruby-it.org/mailman/listinfo/ml

On 12/14/06, david [email protected] 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… :slight_smile:

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 :slight_smile:

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

LOL!

:slight_smile:

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
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml


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

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 [email protected] wrote:

picche…


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


Chiaroscuro

: : i’m a miner : : | therubymine.com

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

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 O. 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]<[email protected]> 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]<[email protected]> 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][email protected]
[6]http://lists.ruby-it.org/mailman/listinfo/ml


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

References

http://weblog.techno-weenie.net/2006/12/13/taking-ares-out-for-a-test-drive
2. mailto:/#{@base_path}/#{template_path}.#{extension}
3. mailto:[email protected]
4. mailto:[email protected]
5. mailto:[email protected]
6. http://lists.ruby-it.org/mailman/listinfo/ml