保存多个文件而无法重新归档

时间:2018-09-04 19:40:01

标签: ruby-on-rails refile

我正在使用重新归档功能为我的项目中的相册上传一些照片。

我的模型是这样的:

class Album < ApplicationRecord
  has_many :photos,dependent: :destroy

class Photo < ApplicationRecord
  belongs_to :user
  belongs_to :album
  attachment :media

我正在尝试创建一个视图,用户可以将多个文件上传到相册。我的看法是这样的:

        <%= form_for @album, method: :put do |f| %>
          <%= f.label :name %>
          <%= f.text_field :name %>
          <div class="row">
                    <div class="col-md-4">
                        <div class="form-group">                            
                            <span class="btn btn-default btn-file">
                                <i class="fa fa-cloud-upload fa-lg"></i> Upload Photos 
                                <%= f.attachment_field :photos, multiple: true %>
                            </span>
                        </div>      
                    </div>
                </div>
          <div id="photos"><%= render 'photos/list' %></div>
          <div class="actions">
            <%= f.submit 'Save Album', class: 'btn btn-success' %>
          </div>
        <% end %>

但是我收到此错误:

NoMethodError in Albums#edit
Showing /home/ubuntu/workspace/app/views/albums/_form.html.erb where line #19 raised:

undefined method `photos_attachment_definition' for #<Album:0x007fd014d3d9e8>

这让我发疯。有人点亮了吗?

谢谢

1 个答案:

答案 0 :(得分:1)

这里的问题是我的模型应该是:

class Album < ApplicationRecord

  belongs_to :user
  has_many :photos,dependent: :destroy

  accepts_attachments_for :photos, attachment: :media

我的观点:

 <%= f.attachment_field :photos_media, multiple: true, direct: true, presigned: true %>

现在正在工作