3
我有一個產品與許多照片。的關係是這樣的:與Carrierwave和Formtastic的Rails 3文件上傳
product.rb
class Product < ActiveRecord::Base
has_many :photos, :dependent => :destroy
attr_accessible :translations_attributes, :active, :category_id, :photos
accepts_nested_attributes_for :translations, :photos
photo.rb
class Photo < ActiveRecord::Base
attr_accessible :photo, :product_id
belongs_to :attachable
mount_uploader :photo, PhotoUploader
和形式如下:
form(:html => { :multipart => true }) do |f|
f.inputs "Details" do
f.input :active
f.input :category, :include_blank => false
end
f.inputs "Photos" do
f.input :photos, :as => :file
end
f.buttons
末
的問題是我克等創建這個錯誤時/附帶文件更新產品:
undefined method `each' for #<ActionDispatch::Http::UploadedFile:0x007f93c8549828>
我發現了同樣的錯誤here一個問題,但即使想他們的解決方案仍然有同樣的問題。
我使用Friendly_Id,ActiveAdmin,Globalize3,也許這可能與他們有一定的關係,這是我用Rails和現在我不知道這可能是第一個項目......
非常感謝您的回覆。編輯前的工作正常:f.semantic_fields_for:photos do | ff | ff.input:照片,如下::文件 結束 – jonfer
但是,如果沒有照片,則不顯示任何文件輸入字段。我只想要1個文件輸入字段,因此它會創建一張新照片。 – jonfer
然後,您必須在您的控制器中創建一個照片實例。例如。 '@ product.photos.build'表單不能顯示不存在的內容。 – sevenseacat