如何将JQuery作为包含文件?

时间:2013-01-09 15:17:01

标签: ruby-on-rails ruby-on-rails-3 jquery

现在,我的application.html.erb中有这个JQuery 但我在我的网站的每个HTML中都看到了这一点。所以我想把它放在refresh_post.js中,这是在/assets/javascripts

中创建的

但是如您所知,application.html.erb会调用目录中的所有JavaScript文件。因为我使用了很多并且放了这个

<%= javascript_include_tag "application" %>

如何仅在用户登录时调用此JQuery。我应该在哪里refresh_post.js使其无法加载,除非用户已登录? 这样做的目的是为了SEO。我不想把JavaScript放在HTML中。

视图/ application.html.erb

<% if current_user %>
    <%= javascript_tag do %>
        jQuery(document).ready(function () {
            refreshPartialPost();
            setInterval(refreshPartialPost, 1000)
        });


        function refreshPartialPost() {
          $.ajax({
            url: "/posts/refresh_partial",
            type: "GET",
            dataType: "script",
          });
        }
    <% end %>
<% end %>

2 个答案:

答案 0 :(得分:0)

application布局如何:

<%= javascript_include_tag 'application' %>
<% if current_user %>
<%= javascript_include_tag 'refresh_post' %>
<% end %>

答案 1 :(得分:0)

看看this,即使这是针对CSS的,也可以应用于js

HTH