2012-07-04 3 views
5

Я использую Rails 3, у меня есть link_to с методом: delete, но когда я нажимаю эту ссылку, он переходит к действию show, а не уничтожает.Удалить ссылку идет показать метод

мой вопрос - как решить эту проблему?

благодарит заранее.

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

+0

Возможно, вы хотите посмотреть похожие вопросы, подобные этому: http://stackoverflow.com/questions/3774925/delete-link-sends-get-instead-of-delete-in-rails-3-view –

ответ

6

Вы не имеете jquery и jquery_ujs библиотеки, включенные в файл application.js, или вы даже не включая файл application.js в app/views/layouts/application.html.erb. Обычно это делается с этой линии:

<%= javascript_include_tag "application" %> 
0

Привет, вы можете попробовать это:

application.html.erb:

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

и ваш код ссылки должен быть таким:

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

и ваш контроллер должен иметь следующее:

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 
Смежные вопросы