Lei*_*mon 15 ruby-on-rails ruby-on-rails-3
我想在Haml视图中包含一些Javascript功能,但我不希望它插入到每个视图中.我是否必须将Javascript文件放在public/javascripts中,或者我可以将它放在app/assets/javascripts中以使其对用户隐藏,并仍然在haml视图文件中引用?
如果可能的话,你会如何做这两个选择?
Dra*_*ken 30
你应该使用
!!!
%html
%head
= javascript_include_tag "my_js_file"
Run Code Online (Sandbox Code Playgroud)
如果它特定于一个地方,你应该使用 content_for
!!!
%html
%head
= yield(:javascripts)
Run Code Online (Sandbox Code Playgroud)
然后在你看来
- content_for :javascripts do
= javascript_include_tag "my_js_file"
Run Code Online (Sandbox Code Playgroud)
Ben*_*aum 10
如果你想将javascript直接包含在haml中,你可以使用 :javascript
:javascript
$(function() { alert("js inside haml"); }
Run Code Online (Sandbox Code Playgroud)
你可以把它放到局部,然后只渲染局部以保持你的视图干净.
如果你只想引用javascript并让浏览器将其拉入,你应该javascript_include_tag像使用一样.在这里,您需要将javascript文件设为清单,而不是将其放入application.js清单中.config.assets.precompile根据http://guides.rubyonrails.org/asset_pipeline.html,请记住在您的application.rb中添加清单.
(在你的haml中):
= javascript_include_tag 'somefile'
Run Code Online (Sandbox Code Playgroud)
(在config/application.rb中):
config.assets.precompile += ['somefile.js']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20297 次 |
| 最近记录: |