在我的应用中,我正在为用户创建相册,并向其中上传一些图片。
这是我的观点:
<%= form_for @album do |f| %>
<div class="col-9">
<div class="form-group row">
<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>
<% end %>
在我的控制器中,我有:
def create
@album = current_user.albums.build(album_params)
logger.debug("******ALBUM PARAMS*** #{album_params} ")
if @album.save
if params[:album][:photos_media].size > 1
params[:album][:photos_media][1..-1].each do |image|
@album.photos.create(media: image, user: current_user)
end
end
@photos = @album.photos
redirect_to profile_edit_profile_albums_path
else
redirect_to profile_edit_profile_albums_path
end
end
def album_params
params.require(:album).permit(:name, :photos_media )
end
当我尝试创建新专辑时,我收到一条消息:
Unpermitted parameter: :photos_media
这是怎么了?
答案 0 :(得分:0)
尝试添加这样的私有范围
private
def album_params
params.require(:album).permit(:name, :photos_media)
end
答案 1 :(得分:0)
看起来您的photos_media
参数是一个数组。如果是这种情况,则需要指出您接受这样的数组:
def album_params
params.require(:album).permit(:name, photos_media: [] )
end