如何解决在Ruby on Rails中,如果视图需要使用在应用程序布局末尾加载的jQuery怎么办?
| 一种推荐的做法是在应用程序布局的末尾加载jQuery:= yield
= render \'shared/footer\'
= javascript_include_tag \'jquery\'
因此页面呈现速度更快,且没有Javascript或jQuery的障碍。但是,如果每个视图都需要做一些特殊的事情怎么办?例如,index
视图需要执行某些操作,show
视图需要执行其他操作,因此Javascript代码要么位于这些视图模板中,要么包含在这些视图模板中,但此时,jquery.js
文件已还没有加载(直到页面末尾)? jquery.js
可以在yield
之前加载,但是它位于页面的前面。
解决方法
您可以使用content_for
在布局中
yield
render \'footer\'
javascript_include_tag \'jquery\'
yield :custom_javascript
在视图中
<%= content_for :custom_javascript do %>
<script type=\"text/javascript\">alert(jQuery)</script>
<% end %
http://guides.rubyonrails.org/layouts_and_rendering.html#using-content_for
,丰山是对的另外请记住,在使用jQuery时请检查您的dom是否已加载。
因此,将其包装为:
$(function(){
// your js code here
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。