Jquery ui rails3jqueryui对话框

Jquery ui rails3jqueryui对话框,jquery-ui,ruby-on-rails-3,jquery-ui-dialog,Jquery Ui,Ruby On Rails 3,Jquery Ui Dialog,我试图用Jquery和Rails3实现一个简单的对话框。我通过gem和“railsgeneratejquery:install--ui”命令安装了Jquery。一切似乎都很好。我可以通过Ajax提交表单,并使用JS.erb文件呈现不引人注目的JS。我的问题是我不能让一个简单的奇怪的对话工作 以下是我的JS: $(document).ready(function(){ $("#dialog").dialog(); }); 以及html: <div id="dialog" title

我试图用Jquery和Rails3实现一个简单的对话框。我通过gem和“railsgeneratejquery:install--ui”命令安装了Jquery。一切似乎都很好。我可以通过Ajax提交表单,并使用JS.erb文件呈现不引人注目的JS。我的问题是我不能让一个简单的奇怪的对话工作

以下是我的JS:

$(document).ready(function(){
    $("#dialog").dialog();
});
以及html:

<div id="dialog" title="Dialog">BLAH BLAH BLAH</div>

我可以看到包含的js min和普通js文件。我甚至可以导航到jquery-ui.js中的dialog函数,所以我不知道这为什么不起作用。有什么想法吗

否则你肯定在什么地方打错了。你似乎把其他一切都准备好了

由于我没有使用jQueryGem,所以我只是用它创建了一个项目,创建了一个项目,一个空模型“page”,并将代码添加到application.html.erb文件中,替换了yield,一切正常

My application.html.erb

  1 <!DOCTYPE html>                                                                                
  2 <html>
  3 <head>
  4   <title>Jq</title>
  5   <%= stylesheet_link_tag :all %>
  6   <%= javascript_include_tag :defaults %>
  7   <%= csrf_meta_tag %>
  8   <script>
  9   $(document).ready(function(){
 10     //console.log("loaded");
 11     $("#dialog").dialog();
 12   });
 13 
 14 </script>
 15 
 16 </head>
 17 
 18 <body>
 19 
 20 
 21 
 22 
 23 <div id="dialog" title="Dialog">BLAH BLAH BLAH</div>
 24 
 25 
 26 </body>
 27 </html>
1
2.
3.
4 Jq
5.
6.
7.
8.
9$(文档).ready(函数(){
10//console.log(“已加载”);
11美元(“#dialog”).dialog();
12   });
13
14
15
16
17
18
19
20
21
22
23废话废话
24
25
26
27

当然,您需要添加CSS。

否则您肯定在某个地方输入了错别字。你似乎把其他一切都准备好了

由于我没有使用jQueryGem,所以我只是用它创建了一个项目,创建了一个项目,一个空模型“page”,并将代码添加到application.html.erb文件中,替换了yield,一切正常

My application.html.erb

  1 <!DOCTYPE html>                                                                                
  2 <html>
  3 <head>
  4   <title>Jq</title>
  5   <%= stylesheet_link_tag :all %>
  6   <%= javascript_include_tag :defaults %>
  7   <%= csrf_meta_tag %>
  8   <script>
  9   $(document).ready(function(){
 10     //console.log("loaded");
 11     $("#dialog").dialog();
 12   });
 13 
 14 </script>
 15 
 16 </head>
 17 
 18 <body>
 19 
 20 
 21 
 22 
 23 <div id="dialog" title="Dialog">BLAH BLAH BLAH</div>
 24 
 25 
 26 </body>
 27 </html>
1
2.
3.
4 Jq
5.
6.
7.
8.
9$(文档).ready(函数(){
10//console.log(“已加载”);
11美元(“#dialog”).dialog();
12   });
13
14
15
16
17
18
19
20
21
22
23废话废话
24
25
26
27

当然,您确实需要添加CSS。

修复!在谷歌搜索了几个小时后,什么也没找到。我开始使用直接从主站点下载的默认Jquery文件。将这些文件与生成的UJS文件交换,我意识到顺序会有所不同。因此,将jquery-ui.js文件重命名为jqueryui.js可以确保jquery.js文件在ui文件之前加载。我想这是显而易见的,但我还没有看到太多关于Jquery文件顺序和使用生成器以这种方式安装Jquery名称的内容。我用的是Mac,所以可能finder的文件顺序与其他机器不同????我知道我不是唯一一个在使用默认名称时遇到这个问题的人。尽管如此,无论何时使用Jquery,总是在主Jquery库之后加载UI

修正了!在谷歌搜索了几个小时后,什么也没找到。我开始使用直接从主站点下载的默认Jquery文件。将这些文件与生成的UJS文件交换,我意识到顺序会有所不同。因此,将jquery-ui.js文件重命名为jqueryui.js可以确保jquery.js文件在ui文件之前加载。我想这是显而易见的,但我还没有看到太多关于Jquery文件顺序和使用生成器以这种方式安装Jquery名称的内容。我用的是Mac,所以可能finder的文件顺序与其他机器不同????我知道我不是唯一一个在使用默认名称时遇到这个问题的人。尽管如此,无论何时使用Jquery,总是在主Jquery库之后加载UI

请注意,您可以在config/application.rb中控制加载顺序,以供将来参考:

config.action_view.javascript_expansions[:defaults] = %w(jquery jquery-ui.min rails)

请注意,您可以在config/application.rb中控制加载顺序,以供将来参考:

config.action_view.javascript_expansions[:defaults] = %w(jquery jquery-ui.min rails)

我从头开始重新构建了一个全新的应用程序,只是为了确保没有其他干扰。我创造了和上面一样的东西。我仍然得到错误!我在这里发布了我的完整应用程序的开发版本:有人有什么想法吗?我从头开始重新构建了一个全新的应用程序,只是为了确保没有其他干扰。我创造了和上面一样的东西。我仍然得到错误!我在这里发布了我的完整应用程序的开发版本:有人有什么想法吗??