Rails 3.2 - 在现有表单上添加新关联
Posted
技术标签:
【中文标题】Rails 3.2 - 在现有表单上添加新关联【英文标题】:Rails 3.2 - Adding new associations on existing form 【发布时间】:2013-12-15 04:51:59 【问题描述】:在我的 Rails 应用程序中,我有两个模型:产品和屏幕截图。以下是我在两者之间的关联:
class Product < ActiveRecord::Base
has_many :screenshots, :dependent => :destroy
end
class Screenshot < ActiveRecords::Base
belongs_to :products
end
在我的“编辑产品”表单上,我已经完成了它,以便我可以查看属于该产品的所有屏幕截图。可以删除屏幕截图,但我想让它使用 AJAX 可以异步添加新的屏幕截图。请查看以下链接以获取我在表单上设置的屏幕截图(我没有 10 声望,所以我还不能发布图片)。
http://min.us/i/baP9RUNzOgGNa
我想这样做,以便我可以单击“添加屏幕截图”链接,它将文件字段中指定的屏幕截图添加到下面呈现的屏幕截图中。我已经为此苦苦挣扎了几个小时,这是我得到的最接近的:
<div class="control-group">
<%= f.label :screenshots, :class => "control-label product-align-left" %>
<div class="controls">
<%= f.file_field "Add Screenshot", :name => "txtAddScreenshot" %>
<%= link_to "Add Screenshot", add_screenshot_product_path(@product), :remote => true %>
</div>
</div>
使用此代码,将调用 add_screenshot 操作,这很好,但我不会在参数中提供要添加的文件。有什么办法可以在参数中获取文件?如果没有,我还应该如何解决这个问题?我正在使用 Paperclip 处理屏幕截图。
【问题讨论】:
jQuery Ajax File Upload的可能重复 嗨,菲特。我看了一下 SO question,但它似乎与我的询问无关。我想知道当我想添加屏幕截图时,是否可以以任何方式访问我的文件字段中的数据。 Rails 似乎忽略了任何嵌套的表单,即使我以前在表单中使用过表单,所以我很困在这里。 【参考方案1】:只是为了更新大家:html 不支持表单中的表单,所以我所做的是为屏幕截图制作一个单独的表单。
【讨论】:
以上是关于Rails 3.2 - 在现有表单上添加新关联的主要内容,如果未能解决你的问题,请参考以下文章