目前我有一个模型'地点',其中有一个图片上传字段添加到表单。当我走的时候,让我们说“更新一个现有的位置,甚至添加一个新位置,它将正确上传图像并显示它,但不会保存任何输入字段。
如果我删除表单上的上传照片字段而不需要它,则所有内容都会更新并正确保存。因此,当图像存在时出现问题,它会保存图像,但不会保存其他字段。
有关为何可能发生这种情况的任何建议?
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 %>
答案 0 :(得分:0)
您是否尝试对该行进行评论
attr_accessible :locations, :photo, :photo_file_name, :photo_content_type, :photo_file_size, :photo_updated_at