link_to remote=>true, nicht die Aktualisierung mit ajax

Verwendung von rails3-und Prototyp - (rails.js)

Habe ich eine einfache Liste der Produkte mit edit-und delete-links als Bilder.
Beim löschen eines Produkts, wird die Liste nicht aktualisiert. Aktualisierung der Seite zeigt, dass das Produkt wurde tatsächlich gelöscht.

/app/views/Produkte/Liste.rhtml

<div id="product_list">
  <%= render :partial => 'list'  %> 
</div>

/app/views/products/_list.rhtml

<%= link_to image_tag("delete.png"), { :controller => 'products', :action => 'destroy', :id => product }, :method => :delete, :confirm => "Are you sure?", :remote => true %>

/app/controllers/Produkte.rb

  def destroy
    Product.find(params[:id]).destroy
    @products = Product.all
  end

/app/views/products/zerstören.rjs (nicht sicher, was zu tun...)

$(document).ready(function() {
    $("#product_list").html("<%= escape_javascript( render(:partial => "list") ) %>");
});

Also die remote-Verbindung scheint zu funktionieren.
Ich bin mir nicht sicher über die Verwendung der ajax-callback update #product_list

Habe ich Folgendes im Kopf der Seite:

$(document).ready(function(){
  $('#product_list').bind("ajax:success", function(evt, data, status, xhr){
      alert('hello');
    })
});

Aber es ist nicht ausgeführt (das ist wahrscheinlich nicht ein Gültiger code für Prototyp) und ich möchte nicht wissen, was sowieso code, um im inneren, so dass meine Liste wird aktualisiert, nachdem er ein Produkt

Jede Hilfe (außer "jQuery") wird sehr geschätzt!

BEARBEITEN: Hier ist der server-log für die Aktion löschen (nach zog ich die javascript-oben zu zerstören.js.erb)

Started POST "/products/destroy/3" for 127.0.0.1 at .....
Processing by ProductsController#destroy as JS
Parameters: {"_"=>"", "id"=>"3"}
[1m[36mProduct Load (0.0ms)[0m  [1mSELECT `products`.* FROM `products` WHERE (`products`.`id` = 3) LIMIT 1[0m
  [1m[35mSQL (0.0ms)[0m  BEGIN
  [1m[36mSQL (0.0ms)[0m  [1mDELETE FROM `products` WHERE (`products`.`id` = 3)[0m
  [1m[35mSQL (78.1ms)[0m  COMMIT
  [1m[36mProduct Load (0.0ms)[0m  [1mSELECT `products`.* FROM `products`[0m
Rendered products/destroy.js.erb within layouts/standard (31.2ms)
Completed 200 OK in 312ms (Views: 62.5ms | ActiveRecord: 78.1ms)

Verarbeitung von ProductsController#zerstören JS also die remote-Verbindung funktioniert

[36mProduct Laden (0.0 ms)[0m [1mSELECT products. VON products* Die @Produkte = Produkt.alle ausgeführt

Gerendert products/zerstören.js.erb in layouts/standard die javascript-fie gerendert wird

So, jetzt denke ich, es ist ein problem mit dem javascript-code:

$(document).bereit(Funktion() {
$("#product_list").html("<%= escape_javascript( render(:partial => "Liste") ) %>");
});

Ist diese Art von code unterstützt von prototype? Ich glaube nicht, verwenden jQuery...

InformationsquelleAutor | 2010-12-09
Schreibe einen Kommentar