【发布时间】:2011-09-28 21:46:59
【问题描述】:
所以我在使用 CoffeeScript、Rails 3.1 和所有好东西。我有一个包含所有常用路线索引、显示、创建、编辑、更新、销毁的资源。
索引视图有一个使用:remote => true 的表单,如下所示:
<%= 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 %>
在用于创建的控制器中,我有以下内容:
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
我试图不使用 .js.erb 视图,因为我宁愿处理返回的 JSON 并将所有花哨的附加到待办事项列表等等。 (我觉得它更干净)。
在我的 todos.js.coffee 中,我使用了以下内容:
$(document).ready ->
$("#new_todo")
.bind "ajax:success", (event, data) ->
alert("Ajax SUCCESS!!!")
(是的,只是打开警告框不起作用)我尝试加载但无法触发此事件。请求确实成功完成并添加了新的待办事项。
对此的任何帮助将不胜感激。谢谢
【问题讨论】:
-
您可以查看 Firebug 以了解 XHR 对话是什么。这可能会对您的应用返回的内容有所了解。
-
是的,抱歉应该说我得到了我所期望的,新创建的待办事项的 JSON
标签: ajax coffeescript ruby-on-rails-3.1