So che non on topic, ma ti consiglierei di fare l’attach degli eventi
solo da JS, senza niente nel markup.
pi pulito, pi facile da gestire, e non fai escape del JS
Inviato da iPhone
Il giorno 15/nov/2012, alle ore 12:45, Sam P. [email protected] ha
scritto:
Il giorno 15 novembre 2012 13:14, Luca P. [email protected]ha scritto:
So che non on topic, ma ti consiglierei di fare l’attach degli eventi
solo da JS, senza niente nel markup.
pi pulito, pi facile da gestire, e non fai escape del JS
You’re right, but my problem is that I have ruby code in rhtml that
generates css and javascript codes. These codes are not static but
depend on ruby variables values.
I can’t figure out how to pass a ruby variable into an external css or js
file…
So I have to keep all the code in one big (sigh!) rhtml…
Forse quel codice avrebbe bisogno di (tanto) refactoring.
Se il progetto lo permettesse
se la variabileRuby servita con la richiesta di una pagina, puoi anche
pensare di inserirla in un attributo data-qualcosa in qualche tag
HTML:
<div id="qualcosa" data-rubyvar='<% ruby_var %>'
JS:
var js_var = $(‘div#qualcosa’).data(‘rubyvar’)
Alla fine sto facendo cosi, anche se il tuo esempio non ha funzionato.
Ho dovuto fare
HTML:
JS:
var div=document.getElementById(‘qualcosa’);
var js_var = div.getAttribute(“data-rubyvar”);
Cmq penso che utilizzando questa tecnica alla fine avro’ tolto tutto il
codice javascript da rhtml.
A questo punto, scusate, visto che ci siamo, ma non e’ che potrei fare
qualche giochetto del genere anche con CSS?
Infatti attualmente anche lo stile e’ definito da delle variabili ruby e
poiche’ utilizzo inline l’attributo :style => posso ovviamente mandare
queste variabili ruby allo stile.
Ma volendo fare un file .css a parte come sto facendo con javascript,
come accedo da questo file .css alle variabili ruby?
Il giorno 15/nov/2012, alle ore 20:31, Sam P. [email protected] ha
scritto:
Alla fine sto facendo cosi, anche se il tuo esempio non ha funzionato.
Ho dovuto fare
HTML:
JS:
var div=document.getElementById(‘qualcosa’);
var js_var = div.getAttribute(“data-rubyvar”);
argh! vero, ho usato jquery per selezionare l’elemento, oltre ad aver
dimenticato il “=” nei tag di erb (<%%>)
l’importante che hai risolto in modo pulito
A questo punto, scusate, visto che ci siamo, ma non e’ che potrei fare
qualche giochetto del genere anche con CSS?
Infatti attualmente anche lo stile e’ definito da delle variabili ruby e
poiche’ utilizzo inline l’attributo :style => posso ovviamente mandare
quete variabili ruby allo stile.
sicuro di averne bisogno? con un po’ di pulizia puoi avere un CSS
statico, costituito da classi/id, evitando gli stili inline e variabili
ruby