Рельсы 3 и несущая волна - PullRequest
4 голосов
/ 17 июня 2011

Я использую Rails 3 и Carrierwave. У меня есть две модели: Gallery и GalleryPicture:

class Gallery < ActiveRecord::Base
  has_many :gallery_pictures
end

class GalleryPicture < ActiveRecord::Base
  belongs_to :gallery
  mount_uploader :gallery_pic, GalleryUploader
end

Как мне сохранить картинку и галерею? Следующее не сохраняет картинку:

gallery = params[:gallery].delete(:gallery_pic)
@gallery = Gallery.new(params[:gallery])
@gallery.gallery_pictures << GalleryPicture.new(gallery)
@gallery.save

1 Ответ

2 голосов
/ 07 ноября 2011

Вы можете найти это полезным http://blog.assimov.net/post/4306595758/multi-file-upload-with-uploadify-and-carrierwave-on

вы можете использовать следующие в вашей модели

class Gallery < ActiveRecord::Base


 has_many   :gallery_pictures,  :dependent => :destroy
  accepts_nested_attributes_for :gallery_pictures

end

class GalleryPicture < ActiveRecord::Base

 belongs_to :gallery
  mount_uploader :gallery_pic, GalleryPicUploader
end

<% form_for @gallery %>
 <fields>

<%= f.fields_for :gallery_pictures do |builder| %>

<% end %>
<% end %>

контроллер должен быть таким же, как он генерируется из скаффолда

...