开发者

Error messages don't show Paperclip validations error messages

I have two models nested with accepts_nested_attributes_for :

class Place < ActiveRecord::Base
  # Relations..
  accepts_nested_attributes_for :place_photos, :allow_destroy => true
  # others methods...
end

--

class PlacePhoto < ActiveRecord::Base

  belongs_to :place
  # attr_accessible :photo_index                                                                                                                             
  has_attached_file :image, :styles => { :small => "120>", :large => "640x480>"}
  validates_attachment_presence :image
  validates_attachment_size :image, :less_than => 500.kilobytes,
       :if => Proc.new {|imports| !imports.image_file_name.blank? }, 
       :message => "This message probably won't be shown! :P"
end

Here is the view for adding images:

   <%= form_for([:profile, @place], :html => {:multipart => true }) do |f| %>

      <% if @place.errors.any? %>
        <div id="error_explanation">
          <h2><%= pluralize(@place.errors.count, "error") %> prohibited this place from being saved:</h2>

          <ul>
            <% @place.errors.full_messages.each do |msg| %>
              <li><%= msg %></li>
            <% end %>
          </ul>

        </div>
      <% end %>
 # ...
          <%= f.fields_for :place_photos do |p| %>
            <% if p.object.new_record? %>
             开发者_StackOverflow <div> <%= image_tag("place_avatar.png", :class => "listTabsImg", :height => '120', :width => '120') %>
                <div class="listTabsTxt">
                  <span>Upload new image</span> <br/>
                  <%= p.file_field :image %><br/>
                  <div class="clear"></div>
                </div>
              </div>
              <br/>
            <% end %>
          <% end %>

<%= f.submit "Upload all", :class => "btnGB" %>
<% end %>

Unfortunatelly Paperclip validations error messages aren't shown(ie. "This message probably won't be shown! :P").

Is this possible to fix that issue?


The issue was in controller. I use:

redirect_to photos_path

instead of:

render :action => "edit"

redirect_to overwrite @object(calls edit action directly), so @object.errors are cleaned.

When I saw that, i just lol'ed. :D

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜