我有一個關於約定和最好的辦法在軌道做事情的小問題。[RAILS] [Javascript]在javascript中使用控制器變量是否「乾淨」?
現在爲一個視圖我需要獲得一個散列數組,我可以在我的控制器中更輕鬆地構建方法。我需要這個ARRY我的javascript代碼...
所以我到目前爲止,我發現了一個解決方案,是不是一個Ajax請求是這一個:
var toto = #{@controller_var.to_json}
我知道它可能的「更好」做一個Ajax請求或將這個變量存儲在erb代碼中......但我試圖限制自己去做Ajax請求(因爲這個頁面已經做了一些),我不喜歡創建隱藏的字段來存儲我的控制器方法...
無論如何,如果你能就此給出你的意見/建議,我真的會讚賞它! :)
最好的問候!
http://railscasts.com/episodes/324-passing-data-to-javascript?view=asciicast如何使用railscasts方法?在將值傳遞給您的JavaScript時沒有多少變化我認爲...另外,由於資產編譯,請謹防將您寫入的行寫入JavaScript文件。 –
我沒有完全得到你最後的想法......到目前爲止我的線是在我的HTML(實際上是haml文件)...從我看到別的地方,我明白,如果我把這種代碼放在它自己的JS文件中將不再工作,因爲JS和Rails不溝通Rails和Html文件的方式...... – Naarsh
你在做什麼(把它放在html/haml中)是可以的。由於資產預編譯,將它放入js文件並不好,但你似乎做得對。 –