1
我的模型:屬性不保存
class Group < ActiveRecord::Base
has_many :images, :dependent => :destroy
accepts_nested_attributes_for :images, :reject_if => lambda { |a| a[:pic].blank? }, :allow_destroy => true
end
class Image < ActiveRecord::Base
belongs_to :group
has_many :votes, :dependent => :destroy
has_attached_file :pic, styles: { medium: "300x300>", thumb: "100x100>" }, default_url: "/images/:style/missing.png"
validates_attachment_content_type :pic, content_type: /\Aimage\/.*\Z/
end
我的組控制器:
def new
@group = Group.new
3.times {@group.images.build}
end
def create
@group = Group.new(group_params)
if @group.save
redirect_to groups_path
else
render 'new'
end
end
def group_params
params.require(:group).permit(:name)
end
我的形式:
<%= form_for @group, html: { multipart: true } do |f| %>
<%= f.label :name %>
<%= f.text_field :name %>
<%= f.fields_for :images do |builder| %>
<p>
<%= builder.label :pic %>
<%= builder.file_field :pic %>
</p>
<% end %>
<%= f.submit %>
<% end %>
所以問題是,當我提交表單時,組創建沒有問題。我可以在數據庫中找到該組,訪問組屬性(組的名稱),但沒有圖像保存到數據庫。我也沒有收到任何錯誤,所以我不確定發生了什麼。有什麼我失蹤?
注:我使用回形針寶石在你的group_params
文件
我試過'params.require(:組).permit(:名稱,:PIC)','params.require(:組).permit(:名稱,:pic,:image)'和'params.require(:group).permit(:name,:image)',並且它們都沒有影響 –
它應該是':images_attributes => [:pic ]' – Emu