我以下這個教程有關使on Rails的Ajax請求:來自Rails的簡單Ajax教程發送請求但不輸出HTML?
製成_form遠程: <%=的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) %>");
但是,當我點擊提交按鈕在視圖中沒有任何反應,但正在創建帖子。 我剛剛得到這個終端:
開始POST爲127.0.0.1 「/帖」 在2012-02-06 12點58分02秒+0800 處理由PostsController#創建爲JS參數:{」 UTF8 「=>」 ✓ 「 」authenticity_token「=> 」m4BT19I9aUQ + FwGD3Ub9WqKJc0IqjsPpD8 + nOyQNhjo =「, 」後「=> { 」名稱「=> 」asdsad「, 」標題「=> 」sadassad「, 」內容「=>」adasdadadad「},」commit「=>」創建帖子「}(0.2ms)開始 事務SQL(86.7ms)INSERT INTO」posts「(」content「, 」created_at「,」name「 「title」,「updated_at」)VALUES(?,?,?,?,?) [[「content」,「adasdadadad」],[「created_at」,Mon,06 Feb 2012 04:58:02 UTC +00:00],[「name」,「asdsad」],[「title」,「sadassad」],[「updated_at」, Mon,06 Feb 2012 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)Rendered /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)Rendered /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)
任何建議來解決這個問題?