我在Nitrous.io上的開發模式下測試我的應用程序,在本地主機上運行它。用戶登錄後編輯其帳戶並上傳圖像具有管理員的角色。但是,當用戶試圖上傳從本地計算機/筆記本電腦的圖像文件,下面的錯誤引發:通過AvatarUploader上傳圖片時出現的錯誤
EXCON ::錯誤::在UsersController#更新故宮
Expected(200) <=> Actual(403 Forbidden) excon.error.response :body => "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>AllAccessDisabled</Code><Message>All access to this object has been disabled</Message><RequestId>982179552F0C4C29</RequestId><HostId>a5RfS52/0VwdIvro6g7kdaeO4OWm3aUrXVIkcKVY5HVuVM6VnRp0m3ksEflo8jxP88fL8/lBExM=</HostId></Error>" :headers => { "Connection" => "close" "Content-Type" => "application/xml" "Date" => "Fri, 24 Apr 2015 05:07:12 GMT" "Server" => "AmazonS3" "x-amz-id-2" => "a5RfS52/0VwdIvro6g7kdaeO4OWm3aUrXVIkcKVY5HVuVM6VnRp0m3ksEflo8jxP88fL8/lBExM=" "x-amz-request-id" => "982179552F0C4C29" } :local_address => "192.168.239.45" :local_port => 35419 :reason_phrase => "Forbidden" :remote_ip => "54.231.13.136" :status => 403
Extracted source (around line #5):
4 def update
5 if current_user.update_attributes(user_params)
6 flash[:notice] = "User information updated"
7 redirect_to edit_user_registration_path
8 else
Request
Parameters:
{"utf8"=>"✓",
"_method"=>"patch",
"authenticity_token"=>"9Gzm2XuPF0s1vQhQZFbeX0xwNQ8v4wx+4K79OSomXEN6ITkvh6hu+/8RmhdiSOOpxUOIiu74S3j0AhS3u/mISQ==",
"user"=>{"name"=>"lacey",
"avatar"=>#<ActionDispatch::Http::UploadedFile:0x007fd26f0d3218 @tempfile=#<Tempfile:/tmp/RackMultipart20150424-2177-dg55wd.jpg>,
@original_filename="snailSign.jpg",
@content_type="image/jpeg",
@headers="Content-Disposition: form-data; name=\"user[avatar]\"; filename=\"snailSign.jpg\"\r\nContent-Type: image/jpeg\r\n">,
"avatar_cache"=>""},
"commit"=>"Update",
"id"=>"16"}
我不知道如果我沒有正確設置開發配置,這就是發生這種情況的原因。不過,我想在開發部署之前先解決這個問題 - 所以我養成了良好的習慣。我目前正在招收學徒,以學習使用rails進行web開發。
在此先感謝!
你使用的是上傳的寶石? – crispychicken
@crispychicken我正在使用這些寶石:carrierwave和mini_magick。 – Vman
@crispychicken我應該補充一點,我錯誤地寫了Heroku。其實,我正在使用Nitrous.io並從那裏運行Rails服務器。我很抱歉。 – Vman