在ajax繁重的应用程序中,有一个知道rails应用程序中的路由的javascript / coffeescript文件似乎很常见且合理。然而,访问资产中的url_for助手并不容易。
我经常看到人们在他们的视图中内联一个javascript读取的变量。并且有一些插件可以通过javascript对象提供路由。请参阅Accessing rails routes in javascript。
我错过了一个简单的方法吗?这是一种不好的做法吗?有什么替代方案?
答案 0 :(得分:3)
因为使用管道的标准方法是使用fingerpint将JS文件编译为一个文件,所以我认为没有替代方法可以做到这一点。
URL助手通常需要变量或参数形式的某种上下文。例如:
question_path(@current_question)
在为生产编译JS文件时,这些文件无法使用。
通过内容块传入生成的路径对我来说似乎没问题(我在当前的应用程序中进行)。
答案 1 :(得分:3)
我们通常采用的方法是让Javascript从HTML中获取所需的任何路径,这些路径是使用所有视图助手进行渲染的。
例如,如果您需要ajaxify表单,请让表单的action
属性包含正确的AJAX提交URL,并让Javascript在那里查找。