Как удалить вложение с помощью refile ActiveRecord::RecordNotFound

Я пытаюсь удалить/уничтожить вложение, которое я загрузил, используя гем refile, и в настоящее время получаю следующую ошибку: ActiveRecord::RecordNotFound in ImagesController#destroy

Couldn't find Image with 'id'=

images_controller.rb

def destroy
        # binding.pry
        @image = Image.find(params[:id])
        @image.destroy
        flash[:notice] = 'deleted'
        render 'new'
    end

    private

    def image_params
        params.require(:image).permit(:tshirt_image, :remove_tshirt_image)
    end

И форма/представление, в котором я пытаюсь удалить вложение, выглядит так:

show.html.erb

<h1>show.html.erb</h1>

<% debug(@image) %>

<%= image_tag attachment_url(@image, :tshirt_image, :fill, 300, 300, format: "jpg") %>

<%= form_for @image do |form| %>
  <%= form.label :tshirt_image %>
  <% form.attachment_field :tshirt_image %>

  <%= form.check_box :remove_tshirt_image %>
  <%= form.label :remove_tshirt_image %>

  <%= button_to "delete", @image, method: :delete %>


<% end %>

<p>test</p>

person ipatch    schedule 16.01.2016    source источник


Ответы (1)


Если я правильно читаю ваш код, все параметры вашей формы будут вложены в ключ :image (params[:image][:remove_tshirt_image] и т. д.).

Пытаться:

@image = Image.find(params[:image][:id])

person nathancarnes    schedule 17.01.2016
comment
спасибо за ваше предложение, к сожалению, оно дает то же сообщение об ошибке. - person ipatch; 17.01.2016