[英]Rails 3 file upload with Carrierwave and Formtastic
我有一個包含許多照片的產品。 這種關系是這樣的:
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>
我在這里發現了一個同樣錯誤的問題 ,但即使嘗試他們的解決方案仍然有同樣的問題。
我正在使用Friendly_Id,ActiveAdmin,Globalize3,也許它可能與它們有一些關系,這是我與Rails的第一個項目,現在我不知道可能是什么...
您的問題是您在模型中將photos
聲明為has_many關聯,並在視圖中將其聲明為單個文件輸入。 很多或者一個,請你選擇:)
您可能要做的是將照片作為產品表單中的嵌套模型 - 如下所示:
semantic_form_for @product do |f|
f.semantic_fields_for :photos do |ff|
ff.input :photo, as: :file
循環遍歷產品中的每張照片,並為每個照片顯示文件輸入字段。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.