Rails 3.0 Paperclip 2.3.5
У меня есть две модели Order и Replay, Replay вложен в Order.Единственная цель воспроизведения - сохранить файл со скрепкой в независимой таблице в БД.
Моя проблема в том, что validates_attachment_presence не выполняет свою работу, она не вызывает ошибку, если мой загружаемый файл пуст.Таким образом, заказ сохраняется в таблице заказов без повторов, сохраняемых в таблице повторов.
И что странно, что validates_attachment_size работает как шарм.
Чтобы представить вещи в перспективе, у меня была та же проблема, прежде чем использовать скрепку, validates_presence_of не делал свою работу.
class Order < ActiveRecord::Base
has_one :replay
accepts_nested_attributes_for :replay
end
class Replay < ActiveRecord::Base
belongs_to :order
has_attached_file :replay
validates_attachment_presence :replay
validates_attachment_size :replay, :greater_than => 1.megabyte
end
Вот мой вид формы:
<%= form_for @order, :html => {:multipart => true} do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :name %><br />
<%= f.text_field:name %>
</p>
<%= f.fields_for :replay do |builder| %>
<p>
<%= builder.label :replay, "Replay file:" %><br />
<%= builder.file_field :replay %>
</p>
<% end %>
<p><%= f.submit %></p>
<% end %>