ror 中使用 Paperclip 进行多次上传

2023-12-10

我正在使用回形针上传一栋建筑物的一张照片。http://www.youtube.com/watch?v=KGmsaXhIdjc我已经用这种方法做到了。但我决定将多张照片上传到一栋建筑。我可以使用回形针来做到这一点还是必须更改它并使用 jQuery ?如果我可以怎么办?PS:如果需要的话我会上传我的代码。 PS:我正在考虑在数据库中为照片2和照片3再创建2列..顺便说一句,我已经看到所有生成资产来做到这一点。我的想法是,我用不同的方式上传一张照片。这意味着我必须改变一切?

更新1:

在routes.rb中

resources :buildings do 
      resources :photos
  end

在建筑物中>_form

<%= form_for(@building, :html=>{:multipart => true}) do |f| %>
  <% if @building.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(@building.errors.count, "error") %> prohibited this building from being saved:</h2>

      <ul>
      <% @building.errors.full_messages.each do |msg| %>
        <li><%= msg %></li>
      <% end %>
      </ul>
    </div>
  <% end %>

  <div class="field">
    <%= f.label :title %><br />
    <%= f.text_field :title %>
  </div>
  <div class="field">
    <%= f.label :status %><br />
    <%= f.select :status, Building::STATUS, :prompt=>'Select status of the building' %>
  </div>
  <div class="field">
    <%= f.label :description %><br />
    <%= f.text_area :description, :rows => 10 %>
  </div>
  <div class="field">
    <%= f.label :price %><br />
    <%= f.text_field :price %>
  </div>
  <div class="field">
    <!--<%= f.label :photo %><br />
    <%= f.file_field :photo %> -->
    <%= f.fields_for :photos do |photo| %>  
    <% if photo.object.new_record? %>
      <%= photo.file_field(:image) %>

     <% else %> 
        <%= image_tag(photo.url(:thumb)) %>
        <%= photo.hidden_field :_destroy %>
        <%= photo.link_to_remove "X"%>
    <% end %>
  <% end %>

    <p><%= f.link_to_add "Add photo", :photos %></p>
  </div>
  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>

在模型>建筑中

 attr_accessible :description, :price, :status, :title, :photo

accepts_nested_attributes_for :photo, :allow_destroy => true

  has_attached_file :photo ,
                  :url  => "/assets/products/:id/:style/:basename.:extension",
                  :path => ":rails_root/public/assets/products/:id/:style/:basename.:extension"

是的,你可以用回形针来做。我这样做的方式是使用嵌套资源和嵌套形式 gem.

例如你building has_many :photos and photo belongs_to :building

然后在你的/views/buildings/_form.html.erb你会写这样的东西:

<%= nested_form_for @building, :html => { :multipart => true } do |f| %>
  <%# all your building fields .... %>

  <%= f.fields_for :photos do |photo| %>  
    <% if photo.object.new_record? %>
      <%= photo.file_field(:image) %>
    <% else %> 
      <%= image_tag(photo.url(:thumb)) %>
      <%= photo.hidden_field :_destroy %>
      <%= photo.link_to_remove "X" %>
    <% end %>
  <% end %>

  <p><%= f.link_to_add "Add photo", :photos %></p>

  <%= f.submit %>
<% end %>

你必须设置accepts_nested_attributes_for :photos, :allow_destroy => true在你的里面building.rb模型并确保您的routes.rb还包括嵌套:

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

ror 中使用 Paperclip 进行多次上传 的相关文章

  • Rails 如何使用 send_data 导出数据,然后重定向到新页面?

    我有一个 Rails 应用程序 允许用户下载生成的 CSV 文件 下载文件后 我想将用户重定向到新的 URL 或操作 有没有在 send data 之后进行重定向的技巧 我想做这样的事情 这不起作用 send data output typ
  • 我应该如何使用 alias_method_chain 作为构建方法?

    我正在使用 Ruby on Rails 3 2 13 我想正确使用alias method chain build option name声明 因为我收到一个奇怪的错误 那是 在我的控制器文件中我有 class Articles Comme
  • jquery中文本区域自动调整大小

    我怎样才能做一个
  • <%=h ... %> 在 Rails 中意味着什么?

    I found here http api rubyonrails org classes ActionView Helpers RecordTagHelper html以下语法 什么是h means 它用于转义标签的输出以避免跨站点脚本
  • 如何在响应ajax codeigniter后停止执行其他控制器

    我想知道如何在响应输出 json 数据后停止执行函数和涉及的其他控制器 就我这里的情况而言 我只是打电话test 函数于dashboard控制器 In dashboard构造函数将执行MY Login library In MY Login
  • CDATA 真的有必要吗?

    我经常使用内联 Javascript 通常是在我制作的 WordPress 主题中 我没有听说过将内联 Javascript 包装在 直到几个月前 几年来我一直在以相当的能力水平做这些事情 我用谷歌搜索了一下 听说人们使用它是因为他们的 J
  • JQuery hide() 和 fadeOut() 、 show() 和 fadeIn() 之间的区别

    我是 jQuery 新手 目前 我正在我的跨平台移动应用程序之一中使用 jQuery 我需要根据各自的条件隐藏和显示我的一些页面内容 我发现以下两种方法对我来说效果很好 myControlId fadeOut myControlId hid
  • 如何检查字符串是否为有效日期

    我有一个字符串 31 02 2010 并想检查它是否是有效日期 最好的方法是什么 我需要一个方法 如果字符串是有效日期 则返回 true 如果不是 则返回 false require date begin Date parse 31 02
  • time_select 表单助手将新时间对象解释为 UTC,而不是配置的时区

    我遇到了对我来说似乎很简单的问题 但我无法弄清楚我做错了什么 在我的应用程序中 用户可以通过简单的 form for 添加他们的课程 他们可以输入课程讲座的开始时间和结束时间 如下所示 div class field Start Time
  • 使用模数按字母顺序对列表进行排序

    我在获取元素列表并按字母顺序对它们进行排序方面没有任何问题 但我很难理解如何使用模数来做到这一点 更新 这是按我的方式工作的代码 但是 我更喜欢下面提供的答案的可重用性 因此接受了该答案
  • 从数组中删除空白元素

    当我从 ruby on Rails 表单中保存多个选择时 它似乎在前面添加了一个空白元素 我该如何删除它 该字段为 selected player utf8 gt authenticity token gt H8W7qPBezubyeU0a
  • Rails content_for 和yield 之间有什么区别?

    例如 content for stuff vs yield stuff 我知道它们的实现略有不同 但是有任何真正的功能差异吗 是否有普遍接受的最佳实践 yield是您指定内容区域在布局中的位置的方式 你可能有这样的事情 div h1 Thi
  • ajax推送服务器

    好吧 我最近写了一个ajax推送脚本 其中后端的php在等待某人更新时处于休眠状态 但是休眠的进程占用了大量的cpu 关于如何防止这种情况的任何想法 我猜我必须要么找到一个可以使用线程休眠的程序 要么用我不太熟悉的 python 或 c 编
  • 如何在 jQuery 中获取 ul 列表中 li 的第一个 href 链接

    我有以下清单 ul class tabs li a href testlink php First link a li li a href testlink2 php Second link a li ul 我想获取第一个链接的 href
  • 删除某个类之后的所有类

    我有一个 lt div id thisdiv class class1 class2 class3 class4 class5 gt text lt div gt 我需要能够使用 jQuery 删除 class3 之后的所有类 就像是 th
  • 如何监听 jQuery AJAX 请求?

    以下两种实现 ajaxRequest 1 2 的方法应该是等效的 话说回来 为什么验证回调已执行的单元测试 3 在 1 中成功而在 2 中失败 我应该如何重写测试 3 来监视 2 中的成功回调 如果我尝试stub jQuery ajax使用
  • 动态地将工具提示文本设置为 div 元素

    我正在尝试动态地将工具提示文本设置为容器 div 并对我刚刚添加到有序列表的每个 div 元素 elem Alias Status 使用 jQuery function addNewElement elem var li li li li
  • 如何使用 JQuery 动态排序

    如果我有一个下拉列表和一个列表框 有没有办法使用 JQuery 根据下拉列表对列表框进行排序 举个例子会很有帮助 这会改变下拉菜单中的顺序 您必须根据自己的标准设置顺序
  • 使用 JQuery 更改元素的顺序

    有人知道我做错了什么吗 我正在尝试更改某些图像的显示顺序 我希望每次按下按钮时图像都会向右 向左移动一个位置 这是我尝试过的 但没有运气 任何帮助或见解将不胜感激 rightShift click function img hide var
  • 将记录批量插入到 Active Record 表中

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

随机推荐

  • 序列化字典时保留大小写

    我有一个 Web Api 项目 配置如下 config Formatters JsonFormatter SerializerSettings ContractResolver new CamelCasePropertyNamesContr
  • MDbg - 调试器的协议与被调试者不兼容

    我正在使用 MDbg 检索进程的应用程序域中列出的所有程序集的列表 每当我尝试将进程附加到 MDbgEngine 时 我都会收到以下异常消息 调试器的协议与被调试者不兼容 HRESULT 异常 0x8013134B 我是否遗漏了某些内容或错
  • 如何将 pdf 文件转换为 CSV 文件?

    我想将 PDF 文件转换为 CSV 文件 我为此使用 iText 库 该程序运行良好 但输出不是所需的格式 所有数据都位于 csv 文件的第一行 输出应该与 pdf 文件完全相同 意味着带有换行符 请帮忙 提前致谢 Document doc
  • 通过图形 API 获取所有用户及其上次登录信息

    我正在尝试导出所有用户数据 包括上次登录日期 我正在关注这篇文章 https morgantechspace com 2021 09 find last login date for all azure ad users using pow
  • 将派生类型与过程从模块放置到子模块

    我需要一些有关使用子模块的帮助 我的目的是使用一个子模块来表示来自父模块的特定派生类型 并且我想将派生类型的整个声明放入子模块中 例如 这是我想要转换的示例代码 MODULE PARENT MODULE IMPLICIT NONE TYPE
  • 如何知道给定的DLL是否被给定的进程加载? [复制]

    这个问题在这里已经有答案了 可能的重复 如何以编程方式获取 DLL 依赖项 在 Windows 上 在 C 程序中 我想知道给定的 DLL 我知道路径 是否由给定的外部进程 我知道 exe 的路径 使用 win32 函数加载 必须能够列出进
  • ObjectContext.GetObjectType(e.GetType()) 不返回 POCO 实体的实体类型

    The ObjectContext GetObjectType 方法应该返回 与指定类型的代理对象关联的 POCO 实体的实体类型 那么为什么在我的代码中它只返回代理呢 我正在使用实体框架 6 候选版本 Soft delete var e
  • 如何使在网络 A 框架中动态生成的实体可点击?

    我正在使用网络 A 框架在加载页面时生成一个新实体 我想在这些实体上添加一些功能 例如悬停 单击等 我尝试使其可单击 但没有成功 function rigClick console log Entity Clicked
  • 访问 PHP 函数中的全局变量

    根据大多数编程语言的作用域规则 我可以访问在函数内部定义的变量 但为什么这段代码不起作用 输出是 为了解决所提出的问题 它不起作用 因为您需要声明将在函数本身中访问哪些全局变量 data My data function menugen g
  • Python 中的 Selenium 单元测试——我的日志文件在哪里?

    因此 我将一些单元测试从 Selenium IDE 导出到 Python 现在我正在尝试调试一些东西 我注意到 Selenium 使用logging模块 有一个特定的行selenium webdriver remote remote con
  • Firefox 中的隐藏滚动条(允许滚动但没有滚动条)

    我想创建一个能够滚动但不显示滚动条的 div 我已经找到了 Webkit 的解决方案 如下 但是如何在其他浏览器中完成此操作 我宁愿避免使用 JavaScript 插件 希望找到 CSS 或供应商特定的解决方案 网络套件解决方案 photo
  • fseeko,fseeko64; ftello、ftello64 Visual C 等效项

    有人可以帮助我告诉我 fseeko 的 Visual C 等价物是什么吗 fseeko64 ftello ftello64 谢谢 没有返回 使用 off t 的函数 如果您需要 64 位位置 可以使用 fseeki64 ftelli64
  • 在Java中解析“2010年1月10日”格式的日期? (使用序数指标,st|nd|rd|th)

    我需要用Java解析 2010年1月10日 格式的日期 我怎样才能做到这一点 如何处理序数指标 the st nd rd or th跟踪天数 这有效 String s January 10th 2010 DateFormat dateFor
  • 查找对象的所有属性和子属性

    有时我想知道一个对象是否具有我正在寻找的属性 但有时一个对象有很多属性 可能需要一些时间才能找到它并进行调试 如果我可以编写一个函数来查找字符串中的所有属性及其值 那么我可以将该字符串粘贴到记事本中 并使用记事本具有的查找功能查找我正在查找
  • 如何解压Google AppEngine批量下载器编写的sqlite3数据库

    我需要下载应用程序数据存储区中相当大 多 GB 实体的所有实例 我有足够的磁盘空间来存储实体的数据 但不足以存储批量下载程序作为 SQLite 数据库检索的原始数据and下载程序在应用我的bulkloader yaml 文件中指定的转换后写
  • android_build.sh 在构建 ffmpeg 库时出错

    我正在尝试构建 ffmpeg 库 下面给出了我的 android build sh bin bash NDK C Users Benzatine Downloads android ndk r10e SYSROOT NDK platform
  • KDB:在两个列表中应用二元函数

    考虑一个函数F x y 生成一个表 我还有两个清单 xList x1 x2 x3 and yList y1 y2 y3 进行简单逗号连接的最佳方法是什么F x1 y1 F x1 y2 F x1 y3 F x2 y1 从而产生一张大桌子 您已
  • 错误“函数参数太少”

    我在以下代码片段中遇到错误 Too few arguments to function showtbl GetTabellen ns 0 passed in abcde folder php php on line 153 and exac
  • C# 中是否有像 Java 中那样的 splitByCharacterType 方法?

    Java中有一个方法按字符类型分割例如 需要一个字符串0015j8 并将其分成 0015 j 8 c 中有这样的内置函数吗 如果不是 我将如何构建一个函数来执行此操作 public static IEnumerable
  • ror 中使用 Paperclip 进行多次上传

    我正在使用回形针上传一栋建筑物的一张照片 http www youtube com watch v KGmsaXhIdjc我已经用这种方法做到了 但我决定将多张照片上传到一栋建筑 我可以使用回形针来做到这一点还是必须更改它并使用 jQuer