我正在使用refile创建一个应用程序,用户可以创建一些相册。这些是我的模型:
class Album < ApplicationRecord
belongs_to :user
has_many :photos,dependent: :destroy
accepts_attachments_for :photos, attachment: :media
class Photo < ApplicationRecord
belongs_to :user
belongs_to :album, required: false
在我看来,我有:
<%= 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>
<div class="col-6">
<label for="">Add or drag photos here:</label>
<%= f.attachment_field :photos_media, multiple: true, direct: true, presigned: true %>
</div>
</div>
</div>
但是我不知道如何将每张照片保存在控制器上,以使其与我的相册关联。目前,我正在这样做:
def create
@album = current_user.albums.build(album_params)
if @album.save
if params[:album][:photos_media].size > 1
params[:album][:photos_media][1..-1].each do |image|
logger.debug('Inside the lasso')
@album.photos.create(media: image, user: current_user)
end
end
但是显示错误“ [[“照片无效””]
好吧,我不知道发生了什么,我也不喜欢这里的这一行代码:
params[:album][:photos_media][1..-1].each do |image|
那么,什么是更好的方法呢?
谢谢