Rails中jQuery插件的问题

Rails中jQuery插件的问题,jquery,ruby-on-rails-3,nivo-slider,Jquery,Ruby On Rails 3,Nivo Slider,只是想让jquery的nivo slider插件在基本rails应用程序上运行。我尝试了最简单的概念证明,只是将演示放入公用文件夹中的静态html页面中,但我仍然无法让它工作。以下是我正在使用的当前标题: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <meta http-equiv="Content-Type" content="text/h

只是想让jquery的nivo slider插件在基本rails应用程序上运行。我尝试了最简单的概念证明,只是将演示放入公用文件夹中的静态html页面中,但我仍然无法让它工作。以下是我正在使用的当前标题:

<!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>

一般来说,我对web开发还比较陌生,但我不知道如何解决这个问题。想法?

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

您可以
手动添加它


更好的方法是对所有javascript使用

您已从布局文件中取出
javascript\u include_标记“application”
代码,该文件通常位于:
/app/views/layouts/application.html.erb

您应该将其放回原处,然后使用来为您处理jQuery和代码


rails中允许相对路径,但可能无法按预期工作。Rails只服务于公共目录而不是供应商目录中的资产。通常情况下,您只需让rails将所有js/css编译成一个文件,就可以从
public/assets
目录中获得服务。

这一行仍然存在,但改用ajax google解决了这个问题。rails中不允许相对路径吗?很酷,谢谢!仍然不能完全让演示正常工作,但肯定离它更近了一步。我遇到了一个不相关的问题,即使用Lightbox2无法使用最新的jQuery 1.10,因此我禁用了通过资产管道加载jQuery rails插件,并使用上面的脚本标记返回到使用v1.8.3,而这是可行的。真糟糕,我不得不这么做,但效果很好。谢谢
$ is not defined    

$(window).load(function() {