だから、私はCoffeeScript Rails 3.1ですごくうまくやっています。私は、すべての通常のルートをインデックス、表示、作成、編集、更新、破棄するリソースを持っています。Rails 3.1 ajax:成功処理
def create
@todo = Todo.new(params[:todo])
respond_to do |format|
if @todo.save
format.html { redirect_to @todo, notice: 'Todo was successfully created.' }
format.json { render json: @todo, status: :created, location: @todo }
format.js {render json: @todo }
else
format.html { render action: "new" }
format.json { render json: @todo.errors, status: :unprocessable_entity }
end
end
end
Imは.js.erbビューを使用しないようにしよう:私は以下の持って作成するためのコントローラで
<%= form_for @todo, :remote => true do |f| %>
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
:
インデックスビューはそうのような:remote => true
を使用してフォームを持っています私はむしろJSONを返すように扱い、すべてのファンシーをToDoリストに追加するなどです。 (それはちょうど私に清潔感を感じる)。私todos.js.coffeeで
私は次のように使用しています
$(document).ready ->
$("#new_todo")
.bind "ajax:success", (event, data) ->
alert("Ajax SUCCESS!!!")
(うんちょうど警告ボックスを開くためにtytingが機能しない)私は負荷を試みたが、ちょうどこのイベントをトリガすることはできません。要求は正常に完了し、新しいToDoが追加されます。
これについてのお手伝いをいただければ幸いです。ありがとう
XHRの会話が何であるかを見るために、Firebugを調べることができます。それは、あなたのアプリから何が戻ってくるかを明らかにするかもしれない。 –
申し訳ありませんが、新しく作成したtodoアイテムのJSONが返されているはずです。 – Bangline