我有一个关于约定和最好的办法在轨道做事情的小问题。[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文件并不好,但你似乎做得对。 –