gpt4 book ai didi

ruby-on-rails - 使用 Carrierwave 和 Formtastic 上传 Rails 3 文件

转载 作者:行者123 更新时间:2023-12-04 05:32:15 32 4
gpt4 key购买 nike

我有一个有很多照片的产品。关系是这样的:

产品.rb

class Product < ActiveRecord::Base
has_many :photos, :dependent => :destroy
attr_accessible :translations_attributes, :active, :category_id, :photos
accepts_nested_attributes_for :translations, :photos

照片.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 的第一个项目,现在我不知道可能是什么...

最佳答案

您的问题是您将 photos 声明为模型中的 has_many 关联,并在 View 中将其声明为单个文件输入。多个或一个,任您选择:)

您可能想要做的是将照片作为产品表单中的嵌套模型 - 类似于这样:

semantic_form_for @product do |f|
f.semantic_fields_for :photos do |ff|
ff.input :photo, as: :file

循环遍历产品中的每张照片,并为每张照片显示一个文件输入字段。

关于ruby-on-rails - 使用 Carrierwave 和 Formtastic 上传 Rails 3 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13139597/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com