2012-02-06 17 views
2

私はRailsの上でAjaxリクエストを作成するについては、このチュートリアルを次のようだ:RailsチュートリアルのシンプルなAjaxがリクエストを送信していますが、HTMLを出力していませんか?

リモート_form作ら

http://net.tutsplus.com/tutorials/javascript-ajax/using-unobtrusive-javascript-and-ajax-with-rails-3/

<% =のform_for(@post、リモート=>真)か| | F %>

私のスクリプトがロードされます

<script src="/assets/jquery.js?body=1" type="text/javascript"></script> 
<script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script> 

を追加しましたformat.jsはposts_controller.rbする:

def create 
    @post = Post.new(params[:post]) 

    respond_to do |format| 
     if @post.save 
     format.html { redirect_to @post, notice: 'Post was successfully created.' } 
     format.js 
     else 
     format.html { render action: "new" } 
     format.js 
     end 
    end 
    end 

作成さcreate.js.erb:

$('body').html("<h1><%= escape_javaScript(@post.title) %></h1>").append("<%= escape_javaScript(@post.content) %>"); 

しかし、[送信]ボタンをクリックすると、ビューで何も起こりませんが、投稿が作成されています。 私はターミナルでこれを取得する:

はJSパラメータとして作成PostsControllerの番号:2012-02-06 12時58分02秒0800 処理で127.0.0.1のための「/投稿を」POSTを開始

:{」 UTF8 "=>" ✓ " "authenticity_token"=> "m4BT19I9aUQ + FwGD3Ub9WqKJc0IqjsPpD8 + nOyQNhjo ="、 "ポスト"=> { "名"=> "asdsad"、 "タイトル"=> "sadassad"、 " (SQL)(86.7ms)INSERT INTO "posts"( "content"、 "created_at"、 "name"、および "content" => "adasdadadad"} "コミット" => "投稿を作成"}(0.2ms)begin トランザクションSQL "title"、 "updated_at")VALUES(?、?、?、?、?) [["content"、 "adasdadad"]、["created_at"、Mon、2012年2月6日04:58:02 UTC +00:00]、["name"、 "asdsad"]、["title"、 "sadassad"]、[Mon、2012年2月6日04:58:02 UTC +00:00] ](120.0ms)は

ため 取引レンダリング記事/ create.js.erb(307.9ms)完了528ms

ActionView ::テンプレート::エラー(未定義のメソッド `escape_javaScript」で500 内部サーバーエラーを犯します<#:0xb78ecd0>):

1: $('body').html("<h1><%= escape_javaScript(@post.title) %></h1>").append("<%= escape_javaScript(@post.content) %>"); 

アプリ/ビュー/記事/ create.js.erb:1: _app_views_posts_create_js_erb__76139275_96235900'
app/controllers/posts_controller.rb:45:in
で「/home/alex/.rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.2.1/lib/action_dispatch/middleware/templates/rescues/_trace.erb (9.9をレンダリング

を作成ms)レンダリング /home/alex/.rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.2.1/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (3.1ms)レンダリング /home/alex/.rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.2.1/lib/action_dispatch/middleware/templates/rescues/template_error.erbレスキュー/レイアウト内の (19.1ms)

これを修正するための提案はありますか?

答えて

4

このチュートリアルではタイプミスがあります。 escape_javaScriptescape_javascript(小文字)

も参照すべきである。escape_javascript()

関連する問題