如何使用回形针在 Rails 4 中上传多个图像

2023-12-11

我正在尝试为我的市场控制器创建一个图像库,我可以使用回形针上传单个图像。我在谷歌上搜索,但没有找到任何解决方案。如何上传多张图像并使用回形针以图库的形式显示它。有什么办法吗。请建议我答案。


这是文章,其中详细解释了如何实现它。 下面是一些代码片段。

Models:

# app/models/market.rb
class Market < ActiveRecord::Base
  has_many :pictures, dependent: :destroy
end

# app/models/picture.rb
class Picture < ActiveRecord::Base
  belongs_to :market

  has_attached_file :image,
    path: ":rails_root/public/images/:id/:filename",
    url: "/images/:id/:filename"

  do_not_validate_attachment_file_type :image
end

View:

# app/views/markets/_form.html.erb
<%= form_for @market, html: { class: "form-horizontal", multipart: true } do |f| %>
  <div class="control-group">
    <%= f.label :pictures, class: "control-label" %>
    <div class="controls">
      <%= file_field_tag "images[]", type: :file, multiple: true %>
    </div>
  </div>

  <div class="form-actions">
    <%= f.submit nil, class: "btn btn-primary" %>
    <%= link_to t(".cancel", default: t("helpers.links.cancel")),
                galleries_path, class: "btn btn-mini" %>
  </div>
<% end %>

控制器:

# app/controllers/markets_controller.rb
def create
  @market = Market.new(market_params)

  respond_to do |format|
    if @market.save

      if params[:images]
        params[:images].each { |image|
          @market.pictures.create(image: image)
        }
      end

      format.html { redirect_to @market, notice: "Market was successfully created." }
      format.json { render json: @market, status: :created, location: @market }
    else
      format.html { render action: "new" }
      format.json { render json: @market.errors, status: :unprocessable_entity }
    end
  end
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用回形针在 Rails 4 中上传多个图像 的相关文章

  • 获取设备中的当前用户ID

    如何使用设备获取控制器中的当前用户 ID 在我的控制器中我有这样的东西 def index me current user c User find me sheets c time sheets end 我收到一条错误消息 无法找到没有 I
  • Rails 注释分段错误

    有一些问题围绕着这个问题 但没有什么真正能满足我的需求 After I bundle install下面列出了我的 Gemfile 我运行annotate并出现以下错误 Users nickcoelius rvm gems ruby 1 8
  • Rails:CSRF 令牌不工作但已设置

    我在 Heroku 上有我的 Rails 3 应用程序 当我发送银行信息时 我得到 WARNING Can t verify CSRF token authenticity但我的 CSRF 令牌已设置 https gist github c
  • 将 Rails 变量传递给液体可以在控制台中工作,但不在视图中

    我想将哈希传递给渲染方法 当我这样做时 在我的控制台中一切正常 object Object find params id hash object object to liquid template Liquid Template parse
  • Rubymine 6 更新/刷新 Rails 项目中可用的方法和路径?

    这是一个例子 假设我更新路线resources foo这给我带来了一些新的道路 例如 new foo session当我开始在 ERB 视图中输入路径时 我希望它向我显示 建议自动完成与路径匹配的名称 当我输入 new foo 我会得到所有
  • 如何在 Rails 4 中使用 params.require

    我有一个像这样的私有方法 用于有四个字段的注册表单 firstname email password and confirm password 我不知道如何检查password confirmation def user params pa
  • Rails 控制台无法运行

    rbenv 红宝石版本 2 6 6 导轨版本 5 1 4 我正在较旧的代码库中工作 ruby 2 6 6 rails 5 4 1 这是我每天使用的代码库 我必须通过 rbenv 下载一个新的 ruby 版本作为单独的存储库 这样做在我的旧代
  • 仅删除多对多关系

    我有一个 has and belongs to many friends join table gt friends peoples 要添加朋友 我会这样做 people followers lt lt friend这会创建关系和新的个人资
  • 如何使用 Rspec 测试具有嵌套路由的控制器?

    我有 2 个使用轨道脚手架生成器创建的控制器 我希望它们嵌套在一个名为 demo 的文件夹中 所以运行 rails g scaffold demo flows rails g scaffold demo nodes 然后我决定将节点嵌套在流
  • 我在 Rails 中使用了保留字吗?

    这是我的模型 class Record lt ActiveRecord Base belongs to user belongs to directory end class Directory lt ActiveRecord Base h
  • Rails - 渲染:目标锚标记的操作?

    我希望像这样使用渲染 render action gt page form 我也尝试过这个 render template gt site page form 那也没用 这个特定页面上的表单位于最底部 如果提交时发生任何错误 我不希望用户被
  • 获取嵌套参数

    我有一个带有嵌套参数的表单 在下面的示例中 如何获取控制器中的 amount whole 值 Parameters utf8 gt authenticity token gt KCmBI6RLh0LdUsM2r5H1vhNykS1IXecF
  • Rails 4 使用 ajax、jquery、:remote => true 和 respond_to 渲染部分

    使用 AJAX 动态渲染页面以响应提交的表单似乎很常见 其他类似的问题都没有集中于如何以一般方式做到这一点 我能找到的关于这个主题的最好的博客文章在这里 http www gotealeaf com blog the detailed gu
  • 资产管道:仅对一个控制器使用 javascript 文件

    在 Ruby on Rails v4 中 我希望仅为特定控制器加载一个 js 文件 或一组 js 文件 执行此操作的标准方法是什么 在 application js 中有 require tree 线 我假设这需要删除 所以我并不总是加载每
  • 我想要一个默认选择空白值的日期选择框

    我用了以下date select助手 但没有一个显示默认情况下选择空白值的日期选择框 通过以下所有代码 我得到了选择框 但选择了当前日期 我在 Rails 2 3 2 上
  • 使用rSpec 测试delayed_job 链的最佳方法是什么?

    目前 当我的代码中有一个延迟方法时 如下所示 CommentMailer delay deliver comments comment true 我在规范中写了这样的内容 dj mock DelayProxy CommentMailer s
  • 如何在 Capybara 中 POST 到 URL?

    刚刚从 Cucumber Webrat 切换到 Cucumber Capybara 我想知道如何将内容 POST 到 Capybara 中的 URL 在 Cucumber Webrat 中我能够执行以下步骤 When I send to d
  • Ruby on Rails 服务器在 HTTPS POST 请求期间崩溃

    我正在尝试与你沟通城市飞艇API http urbanairship com docs push html broadcast使用 ROR Web 应用程序 在我的控制器中 我有以下代码 require net http require n
  • 为 RoR 中的每个用户创建新的 URL 路径

    如何在 Ruby on Rails 中实时创建新的 URL 路径 例如 我希望我的用户拥有 name XXX com 或 XXX com name 仅供参考 我在 Heroku 上托管代码 看看 subdomain fu 插件 https
  • 将查询字符串参数作为表单发布的一部分发送

    有没有办法捕获查询字符串并将其作为表单帖子的一部分发送 我正在使用 Rails 2 3 5 我的用户所在的页面有多个查询字符串参数 在此页面上 他们将提交一份表格 在接收帖子的操作中 我想知道这些查询字符串参数是什么 显然 它们不是作为邮件

随机推荐

  • 带刻度标签的 Python PyQt4 滑块

    我是 PyQt4 的新手 我正在使用 QSlider 制作 gui 默认情况下 滑块不会显示刻度值 我搜索过 但没有找到简单的方法来做到这一点 那么是否可以或者我必须手动进行 我已经制定了一个解决方案 用于在垂直或水平方向向滑块添加标签 结
  • 如何生成临时 Zip 文件,然后在下载后自动将其删除?

    我有一个下载页面 其中有 3 个下载选项 Word Zip 和 PDF 有一个文件夹包含 doc文件 当用户单击页面上的 Zip 选项时 我希望 ASP NET 使用以下内容压缩文件夹 doc文件到临时 zip文件 然后客户端会从服务器下载
  • 在 g:remoteLink 中传递参数作为 javascript 函数的结果

    在 gsp 文件中我有 javaScript 函数 在 g remoteLink 中我喜欢使用该函数传递参数 像下面这样的东西
  • apache httpclient 4 的 UNICODE URI 编码

    我正在使用 apache http client 4 进行所有 Web 访问 这意味着我需要执行的每个查询都必须通过 URI 语法检查 我尝试访问的网站之一使用 UNICODE 作为 url GET params 编码 即 参数 srh t
  • 使用 INNER JOIN 时出现歧义错误

    我试图从 depts 表中选择 deptno dname 并将其与 emp 表连接以选择 empno 和 ename 然后我想按部门名称对它们进行分组 并按部门升序排序 当加入这两个表时 我一直觉得 deptno 不明确 但这是连接表的共性
  • JavaScript:使用 window.setTimeout 触发 CSS 转换

    这 显然 是一个更大项目的一部分 但我正在尝试触发 CS 转换setTimeout 我知道如何使用 CSS 动画 但这不仅仅是重复的过渡 当属性更改时 将发生 CSS 转换 为了我自己的目的 我使用setAttribute因为这将行为与其他
  • 跨 Java 堆的年轻部分和长期部分的大型数组分配

    是否可以在 Java 堆的年轻区域和永久区域之间分配大型数组 鉴于这些地区有自己的次区域 我认为我稍微简化了问题 我只是想了解一次分配是否可以跨越多个区域 年轻和终身 如果是 那么垃圾收集是如何完成的 因为不同区域使用的策略是不同的 我认为
  • 重新绑定 onclick、on* 事件监听器以进行调试

    我想要猴子补丁事件侦听器注册 I found 这个答案展示如何做到这一点addEventListener const nativeEventListener EventTarget prototype addEventListener Ev
  • 在 Visual Studio 中链接 DLL

    我在 Windows XP 上使用 Visual Studio C 2005 我使用 Visual Studio C 2005 创建了一个 DLL 共享库 但是 我不确定如何链接它 通常我刚刚创建了静态库 lib 我的链接方式与链接库时的方
  • 使用 Android Gradle 插件在编译前运行任务

    我有一个非常简单的build gradle文件包含以下内容 buildscript repositories mavenCentral dependencies classpath com android tools build gradl
  • IE6 和 IE7 Standalone:它们的渲染有何不同? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 这是关于 SO 的常识 参
  • event.preventDefault() 在 Mozilla 或 IE 中不起作用

    我终于可以在其他浏览器中测试我的网站了 主要是在 Chrome 中构建的 不幸的是 很多东西的功能似乎有所不同 我将从第一个问题开始 登录时 我进行 JS jQuery 检查以确保用户名和密码匹配 失败后应停止提交 然而 虽然它在 Chro
  • Azure 队列查看所有消息

    据我所知 Azure Queue 并不是严格的 FIFO Visual Studio Server Explorer 仅显示 32 条消息 我的队列中有大约 88 条消息 是否可以查看 Azure 队列中的所有消息而不将其中任何消息出队 您
  • 如何删除C中fgets输入的多余字符?

    我听说在 C 编程中使用 gets 很糟糕 而使用 fgets 更安全 所以我使用 fgets 但是 我遇到了 fgets 的问题 我输入了太多字符 不知何故 它溢出了 如何去掉多余的输入字符 char answer 4 char answ
  • Maven + Mercurial 的内部版本号

    我不知道如何将 Mercurial 修订 id 放入我的 Maven 构建中 理想情况下我希望它出现在我的 jars 和 war 的 MANIFEST 中 我能找到的最接近的解决方案是 mvn DbuildNumber hg id i 这对
  • 使用 WiX 工具集升级服务时不要覆盖服务帐户

    我正在尝试设置一个 WiX 安装程序来安装 Windows 服务并处理升级和更新 安装程序就像一个魅力 用户在以下位置安装服务本地系统那么服务工程师必须为该服务分配一个域帐户 这是我的服务安装程序组件
  • IBM MQ8.0 - AMQ9503 通道协商失败

    当在客户端通道 SVRCONN 启用 SSL 时 我从 Java 客户端连接到 IBM MQ8 0 时遇到问题 当在通道上禁用 SSL SSLAUTH 为可选 时 流程工作正常 客户端是java JRE1 7 MQ服务器版本为IBM MQ8
  • ->* 运算符到底是什么?

    我以前从未使用过它 只是在一篇文章中偶然发现它 我认为它相当于 x gt y但显然事实并非如此 这是我尝试过的 但给了我一个错误 struct cake int yogurt pie int main void pie new cake p
  • 数据库设计-ERD。建模问题

    希望有人能够快速建议我建模 ERD 的最佳方法 我使用的是 IDEF1X 和 ERWin 而不是 Chen Notation 尽管这并不重要 基本上我有三个实体 组织 Person Trustee 商业规则规定受托人可以是个人或组织 我的问
  • 如何使用回形针在 Rails 4 中上传多个图像

    我正在尝试为我的市场控制器创建一个图像库 我可以使用回形针上传单个图像 我在谷歌上搜索 但没有找到任何解决方案 如何上传多张图像并使用回形针以图库的形式显示它 有什么办法吗 请建议我答案 这是文章 其中详细解释了如何实现它 下面是一些代码片