Rails 3.1 ajax: manejo exitoso
Así que estoy jugando con CoffeeScript, Rails 3.1, todo lo bueno. Tengo un recurso con todas las rutas habituales indexar, mostrar, crear, editar, actualizar, destruir.
La vista de índice tiene un formulario que usa:remote => true
al igual que
<%= 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 %>
En el controlador para crear tengo lo siguiente:
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
Estoy tratando de no usar las vistas .js.erb, ya que preferiría manejar el JSON devuelto y hacer todos los anexos elegantes a la lista de tareas pendientes, etc. (Simplemente se siente más limpio para mí).
En mi todos.js.coffee he usado lo siguiente:
$(document).ready ->
$("#new_todo")
.bind "ajax:success", (event, data) ->
alert("Ajax SUCCESS!!!")
(Sí, simplemente escribir para abrir un cuadro de alerta no funciona) He intentado cargar pero no puedo activar este evento. La solicitud se completa correctamente y se agrega el nuevo todo.
Cualquier ayuda con esto sería apreciada. Gracia