Ruby on rails 在循环中动态输出简单表单字段

Ruby on rails 在循环中动态输出简单表单字段,ruby-on-rails,ruby,paperclip,simple-form,Ruby On Rails,Ruby,Paperclip,Simple Form,我的模型附带了用于不同类型文件的回形针字段。例如,文档类型test_doc允许上载三个文件,模型字段名为test_doc1、test_doc2、test_doc3。其他文档类型,如具有不同数量的允许文件的另一个_文档,都使用相同的命名约定命名 我正在尝试创建一个通用文档上载页面,该页面获取@document_type变量中存储的需要添加的文档类型以及@max_num变量中存储的该类型可上载的最大文档数,然后在视图中输出适当数量的字段 我希望以以下格式输出字段,但要在使用文档类型和文档数量变量的循

我的模型附带了用于不同类型文件的回形针字段。例如,文档类型test_doc允许上载三个文件,模型字段名为test_doc1、test_doc2、test_doc3。其他文档类型,如具有不同数量的允许文件的另一个_文档,都使用相同的命名约定命名

我正在尝试创建一个通用文档上载页面,该页面获取@document_type变量中存储的需要添加的文档类型以及@max_num变量中存储的该类型可上载的最大文档数,然后在视图中输出适当数量的字段

我希望以以下格式输出字段,但要在使用文档类型和文档数量变量的循环中这样做。这需要在代码块中的几个地方进行更改,以便动态输出变量,但我不知道如何执行此操作

我希望有人能帮我把这段代码转换成一个循环,使用上面两个变量输出正确数量的字段

<%= f.input :aou_document1, :label => false, :wrapper => :append, :class => "form-group" do %>
<label class="col-sm-3 control-label no-padding-right">
  <% if @lap.aou_document1.blank? %>
      Choose <%= @document_type %>
  <% else %>
      <%= link_to @lap.aou_document1.url do %>
          <i class="icon-file-alt"></i>
          <%= @lap.aou_document1_file_name[0..40] %>...
      <% end %>
  <% end %>
</label>
<div class="col-sm-9">
  <% if !@lap.aou_document1.blank? %><span class="pull-left"><div class="space-4"></div>Replace with</span><% end %>
  <% if !@lap.aou_document1.blank? %><div class="space-4"></div><% end %><%= f.file_field :aou_document1, :class => "col-xs-7 col-sm-5" %>
</div>
<% end %>

helper的字段_将自动插入父级的所有嵌套字段,您不应该手动处理它

您的通用表单应该如下所示:

<%= form_for @document do |f| %>
  <%= fields_for :files do |file| %>
    your code for the files goes here

然后在控制器中,您只需为每个文档生成正确数量的文件。也可以在创建文档时在回调中执行此操作。有很多方法可以做到这一点,但一定要查看标签的字段。

他没有文件关联。是的,不幸的是,这个应用程序不是使用单独的关联模型创建的,允许每个文件类型有多个文件。同意这是理想的,但这不是开发人员选择的方式,我现在无法更改。我正在努力解决的部分是,用循环中创建的动态命名变量替换代码示例中引用文件字段的所有代码部分