微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Ruby on Rails中,如果视图需要使用在应用程序布局末尾加载的jQuery怎么办?

如何解决在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 举报,一经查实,本站将立刻删除。