Rails - 回形针 - 多张照片上传不保存

2023-12-19

我正在尝试在 Rails 中创建一个创建产品页面。这包括添加多个图像和文本字段。我有一种产品模型和一种照片模型。我正在使用回形针宝石来上传照片。 但当我查看产品页面时,我没有看到任何图片。照片未保存到数据库中。

附:我使用 HAML。

应用程序/视图/产品/show.html.haml

  %b Name
  = @product.name
  %br

  %b Description
  = @product.description

  %br
  - @product.photos.each do |photo|
  = image_tag photo.image.url

应用程序/控制器/products_controller

class ProductsController < ApplicationController
  before_filter :require_login
    before_filter :current_user, only: [:create, :destory]

  def new 
    @product = Product.new
    @photo = Photo.new
    5.times { @product.photos.build }
  end

  def create

  @photo = current_user.photos.build(params[:photo])
  @product = current_user.products.build(params[:product])
    if @product.save
        render "show", :notice => "Sale created!"
    else
        render "new", :notice => "Somehting went wrong!"
    end
end

  def show
    @product = Product.find(params[:id]) 
  end

应用程序/模型/照片

class Photo < ActiveRecord::Base
  attr_accessible :product_id    
  belongs_to :product
  has_attached_file :image,
    :styles => {
      :thumb=> "100x100#",
      :small  => "300x300>",
      :large => "600x600>"
        }
end

应用程序/型号/产品

class Product < ActiveRecord::Base
  attr_accessible :description, :name, :price, :condition, :ship_method, :ship_price, :quantity, :photo
  has_many :photos, dependent: :destroy
  accepts_nested_attributes_for :photos
  belongs_to :user
end

用户模型

   class User < ActiveRecord::Base
      attr_accessible :email, :password, :password_confirmation, :name

      attr_accessor :password
      has_many :products, dependent: :destroy
      has_many :photos,:through=>:products

应用程序/产品/new.html.haml

= form_for @product, :html => { :multipart => true } do |f|
  %p
    = fields_for :photos do |f_i|
      =f_i.file_field :image 

首先你的形式是错误的,q用于注册照片使用fields_for,然后你使用fields_for f.object.photos或使用Photo.new做| g |,您的关系模型中的其他错误 has_attached_file 是 has_many 照片,has_attached_file 回形针适合在要使用的模型中使用,而不是在与其他模型的关系中使用。希望这会有所帮助,现在有一个带有几张照片的产品,我建议您使用宝石茧,我q根据您的情况进行,https://github.com/nathanvda/cocoon https://github.com/nathanvda/cocoon

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails - 回形针 - 多张照片上传不保存 的相关文章

  • 从 Rails 3.1.3 升级到 Rails 3.2.1。资产错误

    我尝试将应用程序从 Rails 3 1 3 升级到 Rails 3 2 1 但资产出现问题 我有这样的错误 ActionController RoutingError No route matches GET assets logos op
  • 在 postgresql 中查找和汇总具有重叠记录的日期范围

    我有一个大型数据集 我想对记录具有重叠时间的计数进行求和 例如 给定数据 id 1 name A start 2018 12 10 00 00 00 end 2018 12 20 00 00 00 count 34 id 2 name B
  • RailsAdmin 中具有 join_table 和 has_many :through 的模型的路由错误

    所以我有3个模型 category product category products 这是我的category rb attr accessible name has many category products do def with
  • HMC SHA1 哈希 - C# 生成与 Ruby 不同的哈希输出

    我正在尝试为我正在使用的第三方服务快速获取一个有缺陷的 Net 客户端库 原始库 可以运行 是用 Ruby 编写的 但 DotNet 的等效库会向 Ruby 库生成不同的哈希输出 Ruby加密代码如下 def self encrypt st
  • Bundle exec rspec VS rspec 规范

    红宝石 1 9 2 导轨 3 1 这是问题所在bundle exec rspec spec 不起作用 但是rspec spec 运行正常 当我跑步时c RailsInstaller work apptwit gt bundle exec r
  • 将控制器操作处理为 JS 而不是 HTML

    所以我有以下形式 Follow 我试图
  • 如果使用 jQuery 添加字段,Rails 嵌套表单属性不会保存

    我有一个带有嵌套表单的 Rails 表单 我使用 Ryan Bates 嵌套表单和 jquery 教程 并且就动态添加新字段而言 它工作得很好 但是当我提交表单时 它不会保存任何关联的属性 但是 如果在表单加载时构建部分 则它会很好地创建属
  • 黄瓜与 RSpec

    我想开始深入研究 BDD 我以前从未使用过 TDD 现在 不确定我是否应该从学习 RSpec 开始 然后跳到 Cucumber 或者直接使用 Cucumber 我一直在互联网上阅读有关两者的内容 在我看来 Cucumber 可能是 RSpe
  • 保护 REST 和 JSON

    我想利用 RESTful 架构构建提供 JSON 数据的 Web 服务 但我只想要我自己的客户端应用程序可以从我的网络服务请求 基本上 我的 Web 服务包含不供公众使用的敏感数据 但我想以这种方式构建它 以便我可以构建连接到我的 Web
  • 用于 S3 私有文件的 ActiveStorage

    到目前为止 我一直在使用 Paperclip 将一些文件上传到 S3 其中一些文件不是公开的 Paperclip 允许通过以下位将一些文件作为私有文件上传 has attached file image styles large 2000x
  • 为 Rails 上的 postgresql 创建用户

    我选择 postgresql 作为我的 Rails 数据库 但当我尝试运行 rake db create all 时 我遇到了一个明显常见的错误 即 致命 角色 app 不存在 我找到了两种解决方案 但我不确定哪一种是正确的 有一个网站说
  • 对范围值进行排序

    我想对表示数值范围的字符串数组进行排序 如下所示 b 0 5 100 250 5 25 50 100 250 500 25 50 使用sort我得到的方法 b sort gt 0 5 100 250 25 50 250 500 5 25 5
  • 如何使用国家宝石

    我正在尝试使用国家宝石 https github com hexorx countries 但是在我捆绑安装这个 gem 后 有一些关于如何合并它的基本问题 我是否需要创建新的控制器 模型才能访问这些国家 地区 如何创建一个简单的选择下拉列
  • Rails 如何使用 send_data 导出数据,然后重定向到新页面?

    我有一个 Rails 应用程序 允许用户下载生成的 CSV 文件 下载文件后 我想将用户重定向到新的 URL 或操作 有没有在 send data 之后进行重定向的技巧 我想做这样的事情 这不起作用 send data output typ
  • <%=h ... %> 在 Rails 中意味着什么?

    I found here http api rubyonrails org classes ActionView Helpers RecordTagHelper html以下语法 什么是h means 它用于转义标签的输出以避免跨站点脚本
  • 在生产环境中使用 Rails 设置 sunspot solr

    我尝试了各种链接 但我似乎找不到关于创建与生产中的 Rails 一起运行的 solr 实例的好资源 我知道您必须为生产设置 solr 服务器 我已经尝试使用 tomcat 设置 solr 但我似乎无法将其链接到 Rails 应用程序 有什么
  • 如何使用sunspot_rails gem 搜索相关文章

    我有一个迷你博客应用程序 我希望用户查看与他们在文章显示页面中阅读的内容相关的文章 没有 sunspot rails gem 我会做这样的事情 在我的模型中 def self related search query join AND fi
  • 使用 Mountain Lion、Xcode 4.5 和 RVM 安装 Ruby?

    rvm install 1 9 3 with gcc clang 根据建议无法使用 RVM 在 Lion 下安装 Ruby GCC 问题 https stackoverflow com questions 8032824 cant inst
  • 子域中的 Rails url 助手 - 删除子域

    我网站上的用户可以拥有子域 例如 他们的页面网址是 name example com 登录的用户可以查看更多用户信息 因此在用户的显示页面上 我有一个使用以下代码生成的链接 user url user subdomain gt false
  • 将记录批量插入到 Active Record 表中

    我发现我的Model create 当我一次添加大量记录时 语句需要很长时间才能运行 看着ActiveRecord 导入 https github com zdennis activerecord import wiki但它不适用于哈希数组

随机推荐

  • 无法使用 SQL Server Management Studio 连接到 SQL Azure

    我已在 Azure 门户上创建了一个 SQL Azure 数据库 现在我想使用 SQL Server Management Studio 连接到它 我已经这样设置我的属性 Server Type Database Engine Server
  • 弹出窗口的箭头用于跟踪滚动视图中的对象

    每当触摸表格视图中的单元格时 我都会显示一个弹出窗口 箭头指向该单元格 并且始终指向左侧或右侧 而不是向上或向下 表视图设置为弹出窗口的passthroughView 以便用户可以在弹出窗口仍然打开时选择不同的单元格 从而为所选单元格生成一
  • 从 igraph 到 ggplot 对象

    我使用 ggraph 和 igraph 构建了树状图 library ggraph library igraph EL lt read csv EL2 csv sep header TRUE stringsAsFactors FALSE E
  • 从动态 json 数据更新力导向图上的链接

    我是 D3 的新手 正在研究力定向图 其中 json 数据是动态的 我能够在收到新数据后更改力图 但这会产生弹跳效应 创建我的力图的代码是 div class graph div
  • MySQL 与 InnoDB 的死锁问题

    我有一个中央数据库服务器和几个 工作 服务器 它们同时执行这样的查询 UPDATE job queue SET worker 108 166 81 112 attempts attempts 1 started 2014 01 14 10
  • PySimpleGui 右对齐框架中的按钮

    我正在构建一个简单的 GUIpysimplegui并想要右对齐框架内的按钮 我找到了有关如何使用文本而不是按钮执行此操作的详细信息 例如 我希望下面的按钮能够卡入框架的右侧 周围有凹槽 我要这个 看起来更像这样 但无需添加手动调整的空白文本
  • 如何检查鼠标是否位于控件上

    如何检查鼠标是否位于某一 HWND 上方 我尝试过使用 WM MOUSELEAVE 和 WM MOUSEMOVE 消息来跟踪 但是如果您单击按钮并将鼠标拖出按钮 则在释放鼠标之前它不会收到 WM MOUSELEAVE 这为时已晚 因为 当您
  • 如何通过 log4net 记录机器名称?

    我使用 Log4Net 和 AdoNetAppender 将消息从简单的系统托盘应用程序记录到 SQL Server 2005 数据库中 我想将计算机名称与日志消息一起记录 因为该应用程序将在多台计算机上运行 并且我需要知道消息源自哪一台计
  • asp.net MVC3 部分视图结果不更新 EditorFor 值

    我有一个简单的电子邮件捕获表单作为我的主页的一部分 但是当我返回部分视图时 表单编辑器的模型值没有更新 该模型 public class Contact Key public int Id get set Required public s
  • 在每个 PHP 回溯级别获取范围内的变量?

    有没有办法在回溯中查看每个堆栈帧中设置的变量 我可以通过组合来非常接近debug backtrace true 来获取对象 get object vars在每个对象上获取 this vars args每个回溯帧中的键 以及get defin
  • 为什么FocusNode需要在flutter中进行处置?

    我有点很困惑何时使用dispose扑腾中 有关于这方面的好的教程吗 在食谱中https flutter io docs cookbook forms focus https flutter io docs cookbook forms fo
  • 在 Android 中将视频流传输到网络

    我想制作一个可以将视频流传输到网络的 Android 应用程序 我知道如何在 Android 中录制视频 但不知道如何将其流式传输到网络 我不想将此视频存储到手机的 SD 卡上 但我希望将其存储在网络上 为此 我计划使用 ASP NET W
  • AWS ECS:运行任务失败原因:[“ATTRIBUTE”]

    当尝试在 EC2 实例中运行任务时 我收到了这条可怕的错误消息 Run tasks failed Reasons ATTRIBUTE 和其他许多人一样 https stackoverflow com questions 45173637 u
  • 如何防止在未插入行时触发插入触发器?

    我有一个表1 在此表上我创建了一个触发器 插入或更新或删除之后 现在 如果我执行一个不插入任何内容的插入 触发器仍然会被触发 insert into TABLE1 select from TABLE1 where 1 0 该查询不会插入任何
  • IObservable 按下的按键

    所以我可以尝试反应式扩展 我想创建一个用户按下的按键的 IObservable 我怎样才能做到这一点 这是一个 C 控制台应用程序 尝试这样做来获取可观察的读取键序列 IObservable
  • 如何使用 C# .NET CORE 2.0 将 FIX 登录消息发送到 GDAX

    我正在尝试建立一个到 fix gdax com 的 FIX 4 2 会话 文档 https docs gdax com fix api https docs gdax com fix api 使用 C 和 Net Core 2 0 当我尝试
  • .NET 内部编码

    NET 应用程序的内部编码是什么 例如字符串对象 我可以定义我的应用程序应使用什么编码吗 如果我将 net 字符串写入文件 字符串是什么编码 edit Dim test as String Das ist ein Test lt what
  • Amazon S3 预签名 url - 手动或一次性上传无效

    我正在使用 S3 接受用户到 S3 的直接上传 因此我将使用预签名的网址 上传成功后 AWS Lambda会确保上传的文件是图像 然后客户端会告诉我的服务器他已经完成上传 然后我的服务器将检查该文件是否存在于 S3 中 如果 Lambda
  • 为什么pygame中的文字显示2秒

    我显示的文本仅显示约 2 秒 我希望当我点击其他区域时它会显示 elif msg 0 7 YOU WIN and Message id 200 print You Win textSurface font render You Win Tr
  • Rails - 回形针 - 多张照片上传不保存

    我正在尝试在 Rails 中创建一个创建产品页面 这包括添加多个图像和文本字段 我有一种产品模型和一种照片模型 我正在使用回形针宝石来上传照片 但当我查看产品页面时 我没有看到任何图片 照片未保存到数据库中 附 我使用 HAML 应用程序