2017-08-10 40 views
0

我在做什麼錯了?Ruby on Rails:PaperCLip :: AdapterRegistry :: NoHandlerError UsersController#update

回形針:: AdapterRegistry :: NoHandlerError在UsersController#更新 沒有處理髮現 「S__28434447.jpg」

@user = User.find(params[:id]) 

    if @user.update(user_params) 
     flash[:notice] = "edit success" 
     redirect_to("https://stackoverflow.com/users/#{@user.id}") 
    end 

users_controller.rb

class UsersController < ApplicationController 
     before_action :authenticate_user 

      def edit 
      @user = User.find_by(id: params[:id]) 
      end 

      def update 
      @user = User.find(params[:id]) 

      if @user.update(user_params) 
       flash[:notice] = "edit success" 
       redirect_to("https://stackoverflow.com/users/#{@user.id}") 
      end 
      end 

     private 

     def user_params 
      params.require(:user).permit(:avatar, :name, :email, :phone_number, :description) 
     end 

end 

參數:

{"utf8"=>"✓", 
"authenticity_token"=>"hRL4l1uZtBP8N9uQZeImLSOyn/u10Qc7zXiJBkFvVJvzO7bS6DxGVpIozEu0fjWRAZU1YGsfMgj6bwNT1P1FFg==", 
"user"=>{"name"=>"admin", "avatar"=>"S__28434447.jpg", "email"=>"[email protected]", "phone_number"=>"", "description"=>""}, 
"id"=>"1"} 

edit.html.erb

 <%= form_tag("https://stackoverflow.com/users/#{@user.id}/update", html:{multipart: true}) do %> 
      <div class="form-group"> 
       <p>*ユーザー名</p> 
       <input name="user[name]" value="<%= @user.name %>" class="form-control"> 
      </div> 
      <div class="form-group"> 
       <p>プロフィール畫像</p> 
       <input name=user[avatar] type="file" value="<%= @user.avatar %>" class="form-control"> 
      </div> 
      <div class="form-group"> 
       <p>*メールアドレス</p> 
       <input name=user[email] value="<%= @user.email %>" class="form-control"> 
      </div> 
      <div class="form-group"> 
       <p>電話番號</p> 
       <input name=user[phone_number] value="<%= @user.phone_number %>" class="form-control"> 
      </div> 
      <div class="form-group"> 
       <p>自己紹介</p> 
       <input name=user[description] value="<%= @user.description %>" class="form-control"> 
      </div> 

      <div class="actions"> 
       <input type="submit" value="保存" class="btn btn-primary"> 
      </div> 
     <% end %> 

我使用寶石文件 寶石 '紙夾' 寶石 'AWS-SDK', '〜> 2.3'

我用導軌5

我不知道哪裏錯了。 所以請告訴我關於改進點。

回答

0

做這個

  1. 刪除此行<input name=user[avatar] type="file" value="<%= @user.avatar %>">
  2. 而在地方上一個代碼添加此行<%= file_field_tag :avatar %>

參考:document

編碼快樂 乾杯!

+0

這是你所說的結果。謝謝! –

相關問題