Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.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
Rails 3.1资产管道中的Javascript文件_Javascript_Jquery_Ruby On Rails 3_Asset Pipeline - Fatal编程技术网

Rails 3.1资产管道中的Javascript文件

Rails 3.1资产管道中的Javascript文件,javascript,jquery,ruby-on-rails-3,asset-pipeline,Javascript,Jquery,Ruby On Rails 3,Asset Pipeline,我测试了Rails应用程序的功能,将jQuery放在my home.html.erb文件的底部,并带有简单的脚本标记。在我尝试利用Rails 3.1中的资产Pipleine并将脚本放在app/javascripts/home.js.erb中之前,一切都正常 任何人都知道为什么我不能让javascript在home.html.erb文件之外工作你可以在application.html.erb中添加script标记,你的所有页面都会有jquery。 您可以这样添加脚本:您应该在app/javascr

我测试了Rails应用程序的功能,将jQuery放在my home.html.erb文件的底部,并带有简单的脚本标记。在我尝试利用Rails 3.1中的资产Pipleine并将脚本放在app/javascripts/home.js.erb中之前,一切都正常


任何人都知道为什么我不能让javascript在home.html.erb文件之外工作

你可以在application.html.erb中添加script标记,你的所有页面都会有jquery。 您可以这样添加脚本:您应该在app/javascript文件夹中添加jquery-1.7.min文件

    <%= javascript_include_tag 'jquery-1.7.min'%> 

您可以在application.html.erb中添加script标记,所有页面中都会有jquery。 您可以这样添加脚本:您应该在app/javascript文件夹中添加jquery-1.7.min文件

    <%= javascript_include_tag 'jquery-1.7.min'%> 
不要将home.js.erb放在app/javascripts中,而是从home.js.erb中提取jquery并放在app/assets/javascripts/home.js中

将config.assets.precompile+=%w*.js添加到config/environments/production.rb或全局环境测试/dev/prod的config/application.rb中

比app/assets/javascripts/application.js中的

从视图中使用javascript_include_标记应用程序调用它

。。。最后,不要忘记将gem'jquery rails'添加到您的Gemfile并运行bundle

不要将home.js.erb放在app/javascripts中,而是从home.js.erb中提取jquery并放在app/assets/javascripts/home.js中

将config.assets.precompile+=%w*.js添加到config/environments/production.rb或全局环境测试/dev/prod的config/application.rb中

比app/assets/javascripts/application.js中的

从视图中使用javascript_include_标记应用程序调用它


。。。最后,别忘了将gem'jqueryrails'添加到您的Gemfile中,并运行bundle

至于我想做的事情,这是针对不同视图的单独javascript文件,但我没有成功。我尝试了不同的命名约定,等等

然而,对我来说有效的是将我所有的javascript放在application.js中。这样做可以使整个应用程序中的每个视图都可以访问此代码。根据您的需要和应用程序,您可能希望将脚本放在[your model name].js.coffee中,这将使它可以访问,我认为这仅适用于您特定的控制器和视图。因为我的应用程序是一个单一的模型/控制器设置,所以本质上是一样的


然后,要小心使用选择器,以免无意中干扰其他页面。换句话说,如果你想让一段代码在一个特定的视图中运行,而不是在另一个视图中运行,那么你必须相应地调整你的.js代码,因为application.js中的所有内容都可以被所有视图访问。

至于我想做的事情,那就是为不同的视图创建单独的javascript文件,我没有成功。我尝试了不同的命名约定,等等

然而,对我来说有效的是将我所有的javascript放在application.js中。这样做可以使整个应用程序中的每个视图都可以访问此代码。根据您的需要和应用程序,您可能希望将脚本放在[your model name].js.coffee中,这将使它可以访问,我认为这仅适用于您特定的控制器和视图。因为我的应用程序是一个单一的模型/控制器设置,所以本质上是一样的


然后,要小心使用选择器,以免无意中干扰其他页面。换句话说,如果你想让一段代码在一个特定视图中运行,而不是在另一个视图中运行,那么你必须相应地调整你的.js代码,因为application.js中的所有内容都可以被所有视图访问。

这不是让jquery在应用程序上运行的问题,我主要谈论的是把我的自定义jquery脚本放在哪里……这有意义吗?因为我认为jquery是在所有Rails3.1应用程序上自动加载的,对吗?看看这个链接。脚本的可见性取决于放置位置。lib/assets、app/assets或vendor/assetsim非常确定清单文件行//=require\u树。在目录中添加所有javascript文件这不是在应用程序中使用jquery的问题,我主要谈论的是将自定义jquery脚本放在哪里…这有意义吗?因为我认为jquery是在所有Rails3.1应用程序上自动加载的,对吗?看看这个链接。脚本的可见性取决于放置位置。lib/assets、app/assets或vendor/assetsim非常确定清单文件行//=require\u树。添加目录中的所有javascript文件