有些東西在這裏真的沒有加起來。我的頁面只是刷新,沒有任何反應,它從來沒有觸及我的除了索引之外的所有方法中的任何調試器。如何正確刪除這個?
我的html:
<%- for image in @images %>
<%= image.attachment_file_name %>
<%-# link_to_delete image, :url => destroy_image_admin_wysiwyg_path(image.id) %>
<%= link_to 'delete', { :url => destroy_image_image_path(image.id) },
#:confirm => 'Are you sure?',
:post => true
%>
<br />
<% end %>
我控制器
def destroy_image
debugger
@img = Image.find(params[:id])
@img.destroy
respond_to do |format|
format.html { redirect_to admin_image_rotator_path }
end
end
我的路線:
map.resources :images, :member => { :destroy_image => :post }
我的噁心破解工作,我會盡快找到更好的東西
我把行動轉移到我自己建立的一個更簡單的控制器。
改變了我的路線:
admin.resources :wysiwygs, :member => { :destroy_image => :post }
改變了我的html:
<%= link_to 'delete', :controller => "wysiwygs", :action => "destroy_image" %>
但是,當我點擊了link..it長大..的show
行動? fffffffffuuuuuuu
我報復,只是提出我的行動來展現動作,並在我的HTML傳遞一個隱藏字段..
<%= link_to 'delete', :controller => "wysiwygs", :action => "destroy_image", :hidden_field => {:value => image.id} %>
def show
# this was previously in destroy_image
@img = Image.find(params[:hidden_field][:value])
@img.destroy
respond_to do |format|
format.html { redirect_to admin_image_rotator_path }
end
end
也許一個`before_filter`正在阻止操作被觸及?此外,這是一個不尋常的方法 - 使用GET刪除通常被認爲是不明智的。 – zetetic 2010-12-06 20:01:59
`:post => true`看起來不正確。你嘗試`:method =>:post`嗎? – zetetic 2010-12-06 20:04:42