2017-04-10 71 views
0

我想在控制器中允許某些參數,但我似乎無法找到正確的方式來這樣做。允許的表單參數

我的觀點上傳多個文件是:

<%= form_for :photo, url: {action: "create"} do |f| %> 
    <%= f.label :title %> 
    <%= f.text_field :title %> 
    <br> 
    <%= f.file_field :photos, multiple: true %> 
    <br> 
    <%= f.submit "Upload Image"%> 
<% end %> 

在我的控制器,該文件位於PARAMS這裏:

params['photo']['photos'][..n..] 

但我不能確定如何正確地允許它允許使用以下代碼上傳文件,與示例here類似:

def create 
    @photo = Photo.new(photo_params) 
    @photo.save! 
    @photo.file_names[..n..].url 
    end 

    private 
    def photo_params 
     # permit here 
    end 

,是有辦法使文件可以更方便,例如:

params['photos'] 

回答

1

的標準方法是:

def photo_params 
    params.require(:photo).permit(:title, :photos) 
end 

然後你就可以通過photo_params[:photos]訪問您的照片。

如果photos實際上是需要允許它作爲這樣一個數組的數組:

def photo_params 
    params.require(:photo).permit(:title, photos: []) 
end