0

rails3と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はJQueryUIを使用しないことを意味します。

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が2回ロードされ、競合が発生していることに気付きました。

次に、application.rbで、行を次のように変更しました。

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

サーバーを再起動すると、すべて問題ありません。単純なエラー

于 2011-05-11T18:02:12.577 に答える