如何替换文件的结尾<script>在Rails中使用资产管道
How do I replace an end of file <script> with JS in Rails with asset pipeline?
所以我有一个HTML文件,我在我的Rails应用程序转置到ERB视图。
然而,在HTML中,我有一个JS片段必须最后运行(在其他所有内容之后),因为它处理页面滚动的方式。
我们有了所有的HTML,然后在</body>
之前,我有这个:
<script>
// Some awesome JS that controls the scrollbar
</script>
但是我还没有弄清楚如何使它在资产管道中工作,遵循Rails惯例,正确。
这个文件是我的Home#Index
,它是我的应用程序针对非登录用户的营销网站。
如果我把这个<script>
标签放在控制这个Home#Index
的布局的顶部,它不起作用。
如果我把这个JS移到app/assets/javascripts/home.js
里面,这也不起作用,因为它在加载application.js
之前加载了home.js
。
我也不想把这个放在application.js
里面,因为它会干扰其他类在我的应用程序的其余部分类似的命名。
什么是最好的RAILSy方法来做到这一点,而不是在我的app/views/home/index.html.erb
里面做<script>JS</script>
,因为那感觉不对。
以下步骤可以解决您的问题:
step:1 app/views/home/index.html.erb (provide source of JS.)
<%= javascript_include_tag 'custom/xyz.js', 'data-turbolinks-track' => true %>
step 2: assets/javascrips/custom/xyz.js (JS goes here)
$(function(){
//js code goes here
});
step 3: application.js (the require_directory directive which includes all JavaScript files only in the directory specified, without recursion.)
//= require_directory .
step 4: application.rb
config.assets.precompile += %w(custom/*.js)
相关文章:
- Rails资产管道-只向head添加jquery
- Rails资产管道-自定义js文件
- Rails 4资产管道Heroku生产javascript参考问题
- Rails:将资产管道中的纯javascript限制为特定视图
- 在nginx错误495(错误的客户端证书)上提供Rails资产管道中的样式表
- 如何确保Rails资产管道中的JQuery脚本在控制器特定的JS之后被调用
- Rails 4.0.1 JavaScript资产管道-跨浏览器支持-加载问题
- 在从ruby on rails中的资产管道加载的布局上链接Javascript函数
- 生产中的Rails Javascript 404(资产管道)
- 带有foo.js和foo.js.coffee(空)的Rails资产管道导致js循环.为什么?
- Rails 4:资产管道的正常CSS/JS开发工作流程
- 使用 Rails 3 资产管道命名间隔的第三方 JS 库
- 从Rails资源管道中清除缓存
- rails 4资产管道树中的Javascript函数
- 为什么我的rails资产管道中的js文件没有被编译
- Rails 3.1资产管道和第三方JS日历
- Rails 3.2.13 Javascript资产管道
- 如何使用资产管道在rails中导入javascript
- Rails管道javascript试图调用初始化原型-引用错误
- Galleria JS没有在生产中使用Rails管道