如何读取属性Rails嵌套form_for构建器

时间:2014-02-27 15:38:38

标签: ruby-on-rails ruby ruby-on-rails-4

我对rails非常陌生,我觉得它很“自动”,有点难以理解。对不起,如果这是一个非常基本的问题。

所以,我有一个has_many关联的嵌套表单。我按照railscast进行了正确的配置。但我也想使用我的嵌套元素的id创建一个部分,并且不知道如何获取它。有点难以解释。但它像:

在我的视图

# nested form
<%= f.label :uploads, 'Upload photos' %><br>
<%= f.fields_for :uploads do |builder| %>
  <%= render "upload_fields", :f => builder %>
<% end %>
<%= link_to_add_fields "Add Image", f, :uploads %>

我的 _upload_fields 部分:

<div class="field quest-image">
<%= render :partial => 'shared/file_upload', :locals => { image: true,
                                                          hidden_attr_name: 'quest[uploads_attributes][id]',
                                                          hidden_attr_default: :id,
                                                          thumbnail: get_image_url( :id, 'missing.png', 'thumb' ) } %>
<%= link_to_remove_fields "remove", f %>
</div>

这样,他读取:id作为主要表单元素id。如何获取内部表单upload_id?有可能吗?

我在这里发布 _file_upload

<div class="fileupload-div">
<% if !local_assigns[:image].nil? && image %>

    <div class="fileupload-wrapper">
        <%= file_field :upload, :file, class: 'no-nicer-input fileupload-input-image' %>
    </div>
    <div class="fileupload-files">
        <img class='fileupload-thumbnail' src="<%=thumbnail%>" onload="cropAndShow( this )"/>
        <% if !local_assigns[:hidden_attr_default].nil? %>
            <input type="hidden" name="<%= hidden_attr_name %>" value="<%= hidden_attr_default %>">
        <% end %>
    </div>
<% else %>
    <%= f.file_field :upload, :file, class: "btn btn-large btn-primary" %>
<% end %>
<script>var hidden_attr_name =  '<%= hidden_attr_name %>';</script>
</div>

0 个答案:

没有答案