ここで何かが深刻に加算されていません..私のページは更新されるだけで、何も起こりません。インデックスを除くすべてのメソッドにぶら下がっているデバッガーには一切触れません。
私の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" %>
しかし、リンクをクリックすると..show
アクションが表示されました?? フフフフフフゥゥゥゥゥゥゥ
アクションを show アクションに移動し、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