Rails 3.2 - 在现有表单上添加新关联

时间:2013-12-15 04:51:59

标签: forms ruby-on-rails-3.2 associations

在我的Rails应用程序中,我有两个模型:Product和Screenshot。以下是我两者之间的关联:

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操作,这很好,但我不会在params中添加可用的文件。有什么方法可以在params中获取文件吗?如果没有,我该怎么做呢?我正在使用Paperclip处理屏幕截图。

1 个答案:

答案 0 :(得分:0)

只是为了更新所有人:HTML不支持表单中的表单,所以我所做的是为屏幕截图创建一个单独的表单。