2015-07-19 75 views
0

請幫忙使用形式解決問題如何下載文件並獲取其名稱?

我上傳文件:

<%= form_for(@video) do |f| %> 
    <%= f.text_field :title %> 
    <%= f.file_field :video %> 

    <%= f.submit %> 
<% end %> 

控制器:

def create 
    p '============' 
    p params[:video][:title] 
    p params[:video][:video] 
    p params[:video][:original_filename] 
    p params.inspect 

    redirect_to root_url 
    end 

    def video_params 
    params.require(:video).permit(:title, :video, :original_filename) 
    end 

我需要帶控制檯:

p params[:video][:original_filename] 

但控制檯不會顯示original_filename:

Started POST "/videos" for 127.0.0.1 at 2015-07-19 14:27:19 +0300 
Processing by VideosController#create as HTML 
    Parameters: {"utf8"=>"✓", "authenticity_token"=>"FZASvIyDWQvwqP/P8DewOdViRooE01cEGs8JsjZKweagcvfCiL+wfKCyAfYaW0Id8y/KkX1oAMYpP3uWCM0n9A==", "video"=>{"title"=>"ррррр", "video"=>#<ActionDispatch::Http::UploadedFile:0x007f04d821d318 @tempfile=#<Tempfile:/tmp/RackMultipart20150719-29849-pkn4g3.mp4>, @original_filename="mmm.mp4", @content_type="video/mp4", @headers="Content-Disposition: form-data; name=\"video[video]\"; filename=\"mmm.mp4\"\r\nContent-Type: video/mp4\r\n">}, "commit"=>"Create Video"} 
"============" 
"ррррр" 
#<ActionDispatch::Http::UploadedFile:0x007f04d821d318 @tempfile=#<Tempfile:/tmp/RackMultipart20150719-29849-pkn4g3.mp4>, @original_filename="mmm.mp4", @content_type="video/mp4", @headers="Content-Disposition: form-data; name=\"video[video]\"; filename=\"mmm.mp4\"\r\nContent-Type: video/mp4\r\n"> 
nil 

回答

1

試試這個請

p params[:video][:video].original_filename 
+0

在控制檯輸出如下消息:NoMethodError(未定義的方法'#爲original_filename」 ): – stackov8

+0

我認爲有視頻PARAMS內的視頻。請做這個p params [:video] [:video] .original_filename – Athar

+0

更新了我的答案。 – Athar