2012-07-04 16 views
5

Używam Rails 3, mam link_to z metodą: delete, ale kiedy kliknę ten link, przejdzie do akcji show zamiast zniszczyć.Usuń link idzie, aby pokazać metodę

moje pytanie jest jak rozwiązać ten problem?

z góry dzięki. Kod

: <%= link_to 'Delete', list_path(@list.id), :method => :delete, :confirm => 'Are you sure?' %>

+0

Prawdopodobnie chcesz rzucić okiem na podobne pytania, takie jak ten: http://stackoverflow.com/questions/3774925/delete-link-sends-get-instead-of-delete-in-rails-3-view –

Odpowiedz

6

Nie mają jquery i jquery_ujs bibliotek zawartych przez pliku application.js, lub nie jesteś nawet w tym plik application.js w app/views/layouts/application.html.erb. Zwykle jest to zrobione z tej linii:

<%= javascript_include_tag "application" %> 
0

Hi można spróbować to:

application.html.erb:

<%= javascript_include_tag "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js", "jquery.rails.js" %> 

i kod link powinien być tak:

<%= link_to "<i class='icon-trash'></i> Delete".html_safe, item, :confirm => "Are you sure you want to delete item: " + item.name + "?" ,:method => :delete%> 

a kontroler powinien mieć następującą treść:

def destroy 
@item = Item.find(params[:id]) 
if @item.destroy 
    redirect_to items_path, :notice => "Successfully deleted an item." 
else 
    redirect_to items_path, :notice => "Failed to delete an item." 
end 
end 
Powiązane problemy