Опять мне нужна ваша помощь. Теперь мне нужно понять, как я могу удалить с загруженными файлами Carrierwave (в моем случае - изображениями).Carrierwave file delete
модели/attachment.rb:
class Attachment < ActiveRecord::Base
belongs_to :attachable, :polymorphic => true
attr_accessible :file, :file
mount_uploader :file, FileUploader
end
модели/post.rb:
class Post < ActiveRecord::Base
attr_accessible :content, :title, :attachments_attributes, :_destroy
has_many :attachments, :as => :attachable
accepts_nested_attributes_for :attachments
end
* просмотров/сообщений/_form.html.erb: *
<%= nested_form_for @post, :html=>{:multipart => true } do |f| %>
<% if @post.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@post.errors.count, "error") %> prohibited this post from being saved:</h2>
<ul>
<% @post.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div id="field">
<%= f.label :Nosaukums %>:<br /><br />
<%= f.text_field :title %><br /><br />
</div>
<div id="field">
<%= f.label :Raksts %>:<br /><br />
<%= f.text_area :content %><br /><br />
</div>
<%= f.fields_for :attachments do |attachment| %>
<% if attachment.object.new_record? %>
<%= attachment.file_field :file %>
<% else %>
<%= image_tag(attachment.object.file.url) %>
<%= f.check_box :_destroy %>
<% end %>
<% end %>
<%= f.submit "Publicēt", :id => "button-link" %>
<% end %>
Когда я пытаюсь удалить предыдущий файл загруженного У меня есть эта ошибка:
unknown attribute: _destroy
Может быть, есть проблема, потому что у меня есть несколько загрузок файлов не только один.
Да, я это видел, но когда я пытаюсь 'remove_file', у меня есть эта ошибка:' undefined method 'remove_file' для # ' –
RydelHouse
Вы пытаетесь вызвать метод 'remove_file'? Согласно документам, метод называется 'remove_file!' (Отметьте восклицательный знак). – Tomdarkness
Я тоже сделал все это, но есть ошибка. – RydelHouse