Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax Rails动态javascript加载_Ajax_Ruby On Rails 5_Rails Routing_Dynamic Loading_Revolution Slider - Fatal编程技术网

Ajax Rails动态javascript加载

Ajax Rails动态javascript加载,ajax,ruby-on-rails-5,rails-routing,dynamic-loading,revolution-slider,Ajax,Ruby On Rails 5,Rails Routing,Dynamic Loading,Revolution Slider,在RoR中,如何通过ajax调用动态加载位于您自己的rails服务器中的.js文件? 如何定义指向该.js文件的路径 我要试着解释我要解决的情况 我正在尝试将rails与“ThemePunch”中的一个html模板“revolution slider”一起用作我的“index.html.erb” 基本上,该模板添加了一个“revolution.js”,通过ajax调用“动态”加载另一个.js文件(或“扩展名”) 我面临的问题是,我不知道如何定义到这个.js扩展文件或其目录的路由。我得到一个“获取

在RoR中,如何通过ajax调用动态加载位于您自己的rails服务器中的.js文件? 如何定义指向该.js文件的路径

我要试着解释我要解决的情况

我正在尝试将rails与“ThemePunch”中的一个html模板“revolution slider”一起用作我的“index.html.erb”

基本上,该模板添加了一个“revolution.js”,通过ajax调用“动态”加载另一个.js文件(或“扩展名”)

我面临的问题是,我不知道如何定义到这个.js扩展文件或其目录的路由。我得到一个“获取路由错误”

我可以定义到一个目录而不是控制器的路由吗?
类似于:get'revolution/extensions/*',to:render(/app/revolution/extensions/*)

这样的操作,您可以看到路由调用所做的是调用控制器上的某个操作,并根据该操作所设置的结果返回选项返回视图或数据

对你来说,你可以先

  • ajax调用路由
  • 路由将转到控制器操作
    • 操作可以加载一些写有脚本的.js.erb文件。或者
    • 动作可以呈现一个加载了js的html模板,但同时您可能需要使用js操作主视图页面以显示您提到的滑块

  • 希望这能有所帮助。

    非常感谢你,马哈布。按照你的建议,我终于收到了。我必须将js文件放在views目录下。谢谢。这不是一个体面的方式。但它现在会起作用。只需确保通过turbolink资产预加载分配它们,以加快应用程序加载速度。还有其他的方法。比如使用jquery事件触发那些特定的滑块相关函数。你最终会找到更多更好的方法。不要忘记确保他们在生产过程中表现完美。如果有帮助的话,请不要忘记把我的答案标记为正确答案。。。当心。