Paperclip已添加 - 现在模型不接受更新

时间:2012-04-18 20:30:06

标签: ruby-on-rails ruby-on-rails-3 amazon-web-services paperclip

目前我有一个模型'地点',其中有一个图片上传字段添加到表单。当我走的时候,让我们说“更新一个现有的位置,甚至添加一个新位置,它将正确上传图像并显示它,但不会保存任何输入字段。

如果我删除表单上的上传照片字段而不需要它,则所有内容都会更新并正确保存。因此,当图像存在时出现问题,它会保存图像,但不会保存其他字段。

有关为何可能发生这种情况的任何建议?

Locations.rb

class Location < ActiveRecord::Base

  belongs_to :region
  has_many :spots


  validates_attachment_size :photo, :less_than => 5.megabytes
  validates_attachment_content_type :photo, :content_type => ['image/jpeg', 'image/png']

   has_attached_file :photo,
                :styles => { :thumb => "150x150#", :medium => "200x200#"},
                :path => ":attachment/:id/:style.:extension",
                :s3_domain_url => "adsimgstore.s3.amazonaws.com",
                :storage => :s3,
                :s3_credentials => Rails.root.join("config/s3.yml"),
                :bucket => 'adsimgstore',
                :s3_permissions => :public_read,
                :convert_options => { :all => "-auto-orient" }


   attr_accessible :locations, :photo, :photo_file_name, :photo_content_type, :photo_file_size,     :photo_updated_at
end

表格

<%= form_for (@location), :html => { :multipart => true } do |f| %>
  <% if @location.errors.any? %>
  <div id="error_explanation">
  <h2><%= pluralize(@location.errors.count, "error") %> prohibited this location from being saved:</h2>

  <ul>
  <% @location.errors.full_messages.each do |msg| %>
    <li><%= msg %></li>
  <% end %>
  </ul>
</div>
  
<div class="field">
  <%= f.label :name %><br />
  <%= f.text_field :name %>
</div>

<div class="field">
  <%= f.label :network_id %><br />
  <%= f.text_field :network_id %>
</div>

<div class="field">
  <%= f.label :region_id %><br />
  <%= f.text_field :region_id %>
</div>

<div class="field">
  <%= f.label :spot_duration %><br />
  <%= f.text_field :spot_duration %>
</div>

<div class="field">
  <%= f.label :frequency %><br />
 <%= f.text_field :frequency %>
</div>

<div class="field">
  <%= f.label :screen_count %><br />
  <%= f.text_field :screen_count %>
</div>

<div class="field">
  <%= f.label :ad_size %><br />
  <%= f.text_field :ad_size %>
</div>

<div class="field">
  <%= f.label :ad_type %><br />
  <%= f.text_field :ad_type %>
</div>

<div class="field">
  <%= f.label :impressions %><br />
  <%= f.text_field :impressions %>
</div>

<div class="field">
  <%= f.label :rate_card %><br />
  <%= f.text_field :rate_card %>
</div>

<div class="field">
  <%= f.file_field :photo %>
</div>

<div class="field">
  <td><%= image_tag @location.photo.url(:thumb) %></td>
</div>

<div class="actions">
  <%= f.submit %>
</div>
<% end %>

1 个答案:

答案 0 :(得分:0)

您是否尝试对该行进行评论

   attr_accessible :locations, :photo, :photo_file_name, :photo_content_type, :photo_file_size,     :photo_updated_at