2011-02-10 24 views
2

私はJqueryとRails 3を使って簡単なダイアログを実装しようとしています。私はgemと 'jules:install --ui'を生成するjqueryをインストールしました。すべてがうまくいくようです。私はAjax経由でフォームを提出し、js.erbファイルで控えめなJSをレンダリングすることができます。私の問題は、私は働くために簡単なフリーキンのダイアログを得ることができないということです。Rails 3 Jquery UIダイアログ

$(document).ready(function(){ 
    $("#dialog").dialog(); 
}); 

とhtml:

は、ここに私のJSだ

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

シンプルに十分な右?ページが読み込まれると、Firebugからこれを取得します。

$("#dialog").dialog is not a function 

js minファイルと通常のjsファイルの両方が表示されます。 jquery-ui.jsのダイアログ関数に移動することもできますが、なぜこれが動作していないのかわかりません。何か案は??

答えて

0

それ以外の場合は、どこかの入力ミスがある必要があります。あなたは他のものがすべてそろっているようです。

私はjquery gemを使用していなかったので、プロジェクトを作成し、空のモデル "page"を作成し、application.html.erbファイルにコードを追加して、すべてがうまくいった。

マイapplication.html.erb

あなたはもちろんのCSSを追加する必要があります
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> 

..

+0

私は他に何も干渉しなかったことを確認するためにゼロからブランドの新しいアプリを再構築。私は上記と同じことを作りました。私はまだエラーが発生します!私はここに私の完全なアプリの開発版を置く:http://dev.high-elevation.com誰もが任意の考えがありますか? – headz68

-1

は固定します!何時間も後にGoogle社員を見つけて何も見つけられなかった。私はメインサイトから直接ダウンロードされたデフォルトのJqueryファイルを使い始めました。生成されたUJSファイルとこれらを交換することで、オーダーが違いを生むことがわかりました。したがって、jquery-ui.jsファイルの名前をjqueryui.jsに変更すると、jquery.jsファイルがUIファイルの前にロードされることが保証されます。私はこれが明らかだと思うが、私はJqueryファイルの順序をあまり見ていないし、Jqueryをインストールするためにジェネレータを使用している。私はMacを使用しています。私は既定の名前を使用するときこの問題があった唯一の人になることはできないことを知っています。それにもかかわらず、Jqueryを使用するときは常にメインのJqueryライブラリの後にUIをロードしてください!今後の参考のために

1

、あなたが設定/ application.rbにロード順序を制御することができますのでご注意:

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