嵌套形式的问题。发送按钮在表单外部呈现

时间:2018-12-17 14:20:53

标签: ruby-on-rails dropzone.js

在我的应用中,我有一个名为相册的实体,该实体上可以包含多个媒体文件。

这些是我的模特:

 <tr *ngFor="let item of mergedArray">
  <td> {{ item.property_name }} </td>
  <td> {{ item.type === "one" ? item.property_value: '-' }} </td>
  <td> {{ item.type === "two" ? item.property_value: '-'  }} </td>
 </tr>

我正在使用nestedform将新媒体动态添加到我的相册中。

这些是我的视图文件:

Class Album < ApplicationRecord

  belongs_to :user
  has_many :photos,dependent: :destroy

  has_many :media
  accepts_nested_attributes_for :media

class Media < ApplicationRecord
  mount_uploader :file_name, MediaUploader
  belongs_to :album
end

我在这里的部分:

form.html.erb
        <%= form_for @album do |f| %>
           <div class="col-9">
             <div class="form-group row" >
               <div class="col-6">
                <label for="">Name:</label>
                <%= f.text_field :name %>
              </div>
             </div>
           </div>

          <div class="col-9">
             <div class="form-group row" >
                <div class="col-6">
                    <%= render 'shared/media_uploader', media_contents: @media_contents, f:f %>
                </div>      
             </div>
          </div>
          <div class="col-9">
              <div class="actions">
                  <%= f.submit 'Save Album', class: 'btn btn-lg btn-solid-green btn-block bottom-7 mobile-bottom-3' %>
              </div>
          </div>
          <div class="col-9">
              <div class="actions">
                  <%= link_to "Delete Album", @album, :method => :delete, :class => "btn btn-lg btn-solid-red btn-block bottom-7 mobile-bottom-3", :confirm => "Are you sure ?"%>
              </div>
          </div>
          <div class="col-9">
              <div class="actions">
                  <%= link_to 'Cancel', profile_edit_profile_albums_path, class: "btn btn-lg btn-outline-gray btn-block"%>
              </div>
          </div>
        <% end %>

这里的问题是,在渲染我的应用程序时,其“保存相册”,“删除相册”和“取消”按钮将在窗体外部渲染。

例如,当我尝试按下“保存”按钮时,它不会发送表单(因为渲染时它当然不在表单标签中)。

我在这里做错了什么?

0 个答案:

没有答案