2012-03-14 15 views
1

私はCarneiroとBaraziの "Beginning Rails 3"でRailsを使う方法を学んでいます。最終目標は、機能的なブログを構築することです。この本はRails 3.0向けであり、私は3.2を使用しているので、Ajax用にPrototypeを使用している間はjQueryを使用しています。ある時点で、彼らはProcessingからjQueryに切り替えるように頼んでいますが、私はこれをスキップしました。彼らはjsのコードを使用して起動したときに、後で、彼らはあなたが働くnew_commentビューでjavscriptファイルに「記事」ビュー、およびこのコードjQuery in Rails 3 "Beginning Rails 3"

$("<%= escape_javascript render(:file => 'comments/new.html.erb') %>").insertAfter('#comments'); 
$('#new_comment_link').hide(); 

にこのコード

<%= render @article %> 
<h3>Comments</h3> 
<div id="comments"> 
    <%= render @article.comments %> 
</div> 
<%= link_to "new comment", new_article_comment_path(@article, :format => :js), :remote => true, :id => 'new_comment_link' %> 

を入れています新しいコメントを作成するとき記事を表示すると、すべてのコメントと新しいコメントを作成するためのリンクが表示されます。このリンクをクリックすると、new_commentビューがnew_commentビューから常にロードされずにロードされます。しかし、ブログを読み込んで「新しいコメント」リンクをクリックすると、何も起こりません。私は本の指示に従ってみた(jquery.min.jsファイルを入れてjQueryアダプタを入れた)が動作していないように見える。 。何か案は?ヘルプは非常に高く評価されます。

答えて

0

1)jquery-railsの宝石は含まれていますか? jquery.min.jsファイルを手動で追加する必要はありません。

2)javascriptファイルにアラートを入れてみましたか?

3)あなたの開発ログをチェックして、新しいコメントURLにヒットしたときの状況を確認しましたか?

0

私は[1]と同様の問題をデバッグする最後の3日間を過ごしてきます。http:

//stackoverflow.com/questions/9666929/simple-rails-ajax-call-wont-process-as-js

まず、Rails 3.2はgemを使います。あなたのgemfileに入れて、bundle installを実行してください。

セカンド(ページが言うように)あなたは彼らがデフォルトで設定されたものの両方が含まを確認する必要があります:アプリ/資産/ JavaScriptのでは/あなたがいることを

//= require jquery 
//= require jquery_ujs 

注意が必要ですapplication.js jquery-ujsは実際にここで多くの魔法を実行します。

2つのことを破ることができます。

  1. をお使いのコントローラがあなたの応答がサーバーの出力を見て、そうであるかを確認するには

を動作しない場合がありますAJAXリクエストを適切

  • を受けることができませんまたはログ。 new_article_commentが実行されていることを示していますか?そして、それは "Processing ... as JS"と言うのでしょうか?

  • +0

    OK、サーバの出力とdevログをチェックしましたが、コントローラが正しく応答していませんでした.- new_article_commentは決して実行されませんでした。私は今それを修正した。どうもありがとう。 – jclancy

    +0

    ありがとう、schmanks - 私はここで100ポイントに到達する必要があります!投票/回答を受け入れる! :-) –

    +0

    実際には、私はあなたが、彼らが呼んでいるように、あなたがStackOverflowに新しいブランドスパンキングであることを認識しました。それは救命救助者であり、将来あなたは素晴らしい時間を過ごすことを願っています。ヒント:あなたが50ポイントに達すると、あなたはこれらのコメントをどんな質問にでも置くことができます。 –