ruby-on-rails - 以表单形式构建嵌入的 mongoid 文档

标签 ruby-on-rails mongoid

我可能错过了一些愚蠢的东西,但我无法将多个嵌入的照片文件放入表单中

型号

class Product
   include Mongoid::Document

   embeds_many :photos, cascade_callbacks: true
end

class Photo
   include Mongoid::Document

   embedded_in product, :inverse_of => :photos
   field :image_filename
   mount_uploader :image, ImageUploader
end

Controller - products_controller.rb

def new
   @product = Product.new
   3.times { @product.photos.build }
end

表格

然后我用

制作表格
fields_for @product.photos do |photo|
   <%= photo.file_field :image %>
end

问题是只显示了 1 张照片,但我正在 Controller 中构建 3 张照片。即使我在内存中构建了 3 个之后,@product.photos.count 的计数仍为 0。我错过了什么吗?

最佳答案

fields_for @product.photos do |photo|
   <%= photo.file_field :image %>
end

应该是

fields_for :photos do |photo|
   <%= photo.file_field :image %>
end

关于ruby-on-rails - 以表单形式构建嵌入的 mongoid 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11649792/

相关文章:

ruby-on-rails - Rails 3 路由并使用 GET 创建干净的 URL?

ruby-on-rails - 如何在 Rails 5 中的现有表中添加新列?

ruby-on-rails - 向 image_tag 添加标题 Ruby on Rails

ruby-on-rails - Mongoid如何插入嵌入式记录?

ruby-on-rails - Mongoid::错误::混合关系

ruby-on-rails - 如何获取通过事件管理员登录的当前用户?

ruby-on-rails - 创建新文件时出错

ruby-on-rails - Rails 有两个不同的数据库

ruby-on-rails - Mongoid 删除嵌入式文档不会持续存在

ruby-on-rails - Searchkick/Rails 使用 Mongoid 的工作示例