0

请使用 rails 3 和 jquery-ui 帮助解决这个问题。
在我看来,我有:

<div class="container">
    <div class="contents">
    <% @questions.each do |question| %><br />
       <li>
           <button class="opendialog">Delete</button>
           <div class="info" title="Delete Request">
               Question:<b><%= question.content %></b>
           </div>
       </li>
    <% end %>
    </div>
</div>

在我的 application.js 中,我有:

$(function() {
  $('.opendialog').each(function() {  
    $.data(this, 'dialog', 
      $(this).next('.info').dialog({
        autoOpen: false,
        modal: true
      })
    ); 
  }).click(function() {  
      $.data(this, 'dialog').dialog('open');
      return false;  
  });
});

我遇到的问题是,当我单击它们各自的按钮时,没有打开任何对话框。代码在这里的jsfiddle中运行良好,但我的代码没有运气。我该如何解决这个问题。在我的应用程序中有一些地方我打开单个对话框并且工作正常,它只是这段代码不想打开对话框时我单击相应的按钮。

谢谢您的帮助。

4

1 回答 1

0

经过一番谷歌搜索,我发现我的样式表加载不正确。我正在包括这样的 .js 文件

1)。使用 -J 创建新的项目跳过原型:

rails new -J test -d mysql

2)。修改Gemfile,添加JQuery:

gem 'jquery-rails'

3)。捆绑更新:

bundle update rails

4)。生成 JQuery,--ui 表示使用 JQuery UI:

rails generate jquery:install --ui

5)。修改config/application.rb:

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

注意我是如何在 application.rb 文件中加载 application.js 的。

然后在我的 application.html.erb 文件中,我像这样加载 application.js

<%= javascript_include_tag :defaults %>

但是,当我查看我的 html 的源代码时,我注意到 application.js 被加载了两次导致冲突。

在 application.rb 然后我将行更改为:

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

重新启动服务器,一切都很好。简单错误

于 2011-05-11T18:02:12.577 回答