首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails中的jQuery插件问题

Rails中的jQuery插件问题
EN

Stack Overflow用户
提问于 2012-12-03 02:01:22
回答 1查看 234关注 0票数 0

我只是想让jquery的nivo滑块插件在一个基本的rails应用程序上运行。我尝试了最简单的概念证明,只是把演示放到公共文件夹中的一个静态html页面中,但我仍然不能让它工作。下面是我正在使用的当前头文件:

代码语言:javascript
复制
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<html lang="en">
<head>
    <script type="text/javascript" src="../vendor/assets/javascripts/nivo-slider/demo/scripts/jquery-1.7.1.min.js"></script>
    <script type="text/javascript" src="../vendor/assets/javascripts/nivo-slider/jquery.nivo.slider.js"></script>
    <title>Nivo Slider Demo</title>
    <link rel="stylesheet" href="../vendor/assets/javascripts/nivo-slider/themes/default/default.css" type="text/css" media="screen" />
    <link rel="stylesheet" href="../vendor/assets/javascripts/nivo-slider/themes/light/light.css" type="text/css" media="screen" />
    <link rel="stylesheet" href="../vendor/assets/javascripts/nivo-slider/themes/dark/dark.css" type="text/css" media="screen" />
    <link rel="stylesheet" href="../vendor/assets/javascripts/nivo-slider/themes/bar/bar.css" type="text/css" media="screen" />
    <link rel="stylesheet" href="../vendor/assets/javascripts/nivo-slider/nivo-slider.css" type="text/css" media="screen" />
    <link rel="stylesheet" href="../vendor/assets/javascripts/nivo-slider/demo/style.css" type="text/css" media="screen" />

        <script type="text/javascript">
        $(window).load(function() {
            $('#slider').nivoSlider();
        });
    </script>

</head>

每次在heroku中加载这个代码时,我都会收到错误: ReferenceError:

代码语言:javascript
复制
$ is not defined    

$(window).load(function() {

一般来说,我对web开发还是个新手,但我就是不知道如何解决这个问题。想法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-03 02:13:18

未加载JQuery。您正在rails中使用相对路径。如果您必须手动加载javascripts,则应考虑使用:

您可以使用<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>手动添加它。

一种更好的方法是对所有javascript使用asset pipeline

您已经从布局文件中取出了javascript_include_tag "application"代码,该文件通常位于:/app/views/layouts/application.html.erb中。

您应该将它放回原处,然后使用asset pipeline来处理jQuery和您的代码。

相对路径在rails中是允许的,但可能不会按预期工作。Rails只服务于公共目录中的资产,而不是供应商目录中的资产。通常,只要让rails将所有的js/css编译成一个文件,它就会在public/assets目录之外提供服务。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13672112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档