我是一个完整的noob,我试图了解如何在Rails中使用JavaScript与资产管道。 例如,我在哪里放置一个简单的$(document).ready以在特定视图中执行。我已经完成了将视图本身的代码,但我认为这不是实现它的最佳方式。 补充阅读也将不胜感激,谢谢。Ruby on rails:资产管道中的javascript
回答
创建一个名为新文件我通常根据意见或模型拆分这些。它最终并不重要,因为资产管道将所有这些都归结为一个大文件。分裂到文件是根据您的喜好和喜好。
所以,在whatever.js
你可以写任何你想要的JS代码,与$(document).ready
,不..资产管线并不真正关心。如果你的代码写入需要$(document).ready
,使用它。如果没有,请不要......
一旦你完成了你的JS,Rails默认将把你在application.js
清单文件中告诉它的所有js文件放在一个文件中,并按照你的命令写
所以它看起来像
//= require jquery
//= require jquery_ujs
//= require twitter/bootstrap
//= require_tree .
所以它会加载jQuery的第一个,然后jQuery的UJS,然后引导再树是其中的application.js当前目录是在
同样你只能做
//= require whatever.js
在开发过程中,默认情况下,您不会看到一个大文件,但是您的所有文件,因为这样更容易调试。
一旦部署到生产环境,这取决于你需要什么,你可以预编译通过资产管线内的全部资产与rake assets:precompile
或者你可能有一个脚本,它将自动预编译上部署像asset_sync
宝石
基本上,你应该将js代码放入js文件和html代码中查看文件,因为链接(压缩js和东西的gem)无法处理不在资产文件/文件中的JS进行预编译
为您添加了一些补充读取乐趣
http://guides.rubyonrails.org/asset_pipeline.html
http://railscasts.com/episodes/279-understanding-the-asset-pipeline
http://blog.55minutes.com/2012/02/untangling-the-rails-asset-pipeline-part-3-configuration/
希望帮助你以某种方式
读你的问题了几次后,我意识到,你所问的是“往哪里放的js代码,相关的具体视图“
那么,现在你熟悉的资产管道,你现在可以了解如何使用它:
在whatever.js
文件你写你想写..让我们假定你没有//=require_tree .
在application.js
什么的,所以它不包括所有的JS文件,且必须具有whatever.js
在whatever.html.erb
whatever.html.erb
你可以写
<% content_for :head do %>
<%= javascript_include_tag "whatever.js" %>
<% end %>
然后,在你的布局文件(其中有<%=%的收率>地方中的一个文件,转到HTML的头和写
<%= yield :head %>
名称头基本上是你想要的。
这告诉Rails类似"Hey man, this whatever.js file is for you.. just put it in the :head ok?"
和Rails就像"You got it mister!"
这样你可以包括你在任何你想要的景色想要的js文件。
但是既然你说你是一个完整的noob,我会建议保持简单,并且首先包含所有的js文件,只需要为你的html元素使用唯一的类和ID,你应该没问题。很可能,有些人可能不同意这一点。但是既然你说你是一个完全的小白,那么我说什么或他们说什么都不重要。无论你更容易理解是什么。因此,实验与它
所有的JavaScript应该在 应用程序/资产/ JavaScript的
您也可以为特定视图一个单独的js文件也可以在application.js中文件
把这个代码写你的js代码在布局<%= javascript_include_tag “应用程序” %>
最后运行 耙资产:预编译
- 1. Ruby on Rails:jQuery-ui和资产管道
- 2. Ruby on Rails较少的源地图和资产管道?
- 3. Ruby on Rails资产管道(找不到文件)
- 4. 使用Ruby on Rails时看到其他文件资产管道
- 5. Rails资产管道+ git submodules
- 6. Ruby on Rails - 资产中的I18n
- 7. Rails 4资产管道:config.assets.precompile&conditional javascript
- 8. Rails 3 - 资产管道 - 缓存资产
- 9. Rails 4资产管道和IE8资产
- 10. Rails 4.1.6资产管道没有在生产中加载资产和javascript
- 11. wicked_pdf + rails 3.1资产管道
- 12. Rails资产管道+ knockout.js
- 13. Rails资产管道挂起
- 14. Rails 3.2资产管道+ html5shiv.JS在供应商/资产/ javascript
- 15. Rails资产管道未预编译
- 16. Ruby on Rails资产管道似乎添加了不存在的样式
- 17. 链轮/资产管道中的Rails 2.3
- 18. Rails 3.2资产管道和RequireJS
- 19. rails 3.1资产管道路由错误
- 20. Rails的资产管道不加载JavaScript的依赖性
- 21. Ruby on Rails资产重新编译
- 22. Ruby on Rails资产组织文件夹
- 23. ruby on rails资产存储问题heroku
- 24. Ruby on Rails预编译资产失败
- 25. 轨资产管道与产生的JavaScript
- 26. Rails源代码管理资产管道?
- 27. Rails资产管道管理问题
- 28. Rails 3 JavaScript资源管道管理
- 29. 使用libsass使用Rails资产管道
- 30. 乘客4和资产管道:gzip_static on?
惊人的答案,这是所有我需要知道。谢谢! – 2013-04-08 06:35:54