Próbuję wyjściowe niektóre inline js na stronie. Naprawdę nie chcę go dodawać do żadnego pliku JS, ponieważ jest tak aribracyjny i jednorazowy. Mówiąc to, używam haml, a także próbuję użyć content_for w celu umieszczenia JS po załadowaniu jquery z layoutu.HAML O wiele linii przy użyciu content_for, dla JavaScript
Problemem jest to, że haml nie lubi tekstu wielowierszowego, który jest wcięty (chyba)
Próbuję wykonać następujące czynności:
=content_for :javascript do
$(function(){
$("#sell_tickets_here").live("vclick",function(){
if($(this).is("checked"))
$("#tickets_here").display("inline");
else
$("#tickets_here").display("none");
});
});
W moim układzie mam:
= yield(:javascript)
Co faktycznie działa, jeśli mam tylko 1 wiersz po instrukcji content_for.
Dzięki tym pracowali. Jedyną rzeczą, na którą należy zwrócić uwagę, jest to, że jeśli masz zawartość dla javascript pochodzącą z wielu stron, umieścisz w niej znacznik skryptu dla każdego z nich. the haml: javascript wraps
ta nazywa escaping, aw tym przypadku ucieczki, ergh, wcięcie:
=content_for :javascript do /$(function(){ / $("#sell_tickets_here").live("vclick",function(){ / if($(this).is("checked")) / $("#tickets_here").display("inline"); / else / $("#tickets_here").display("none"); / }); /});
Źródło
2014-03-12 14:34:04