2016-08-30 35 views
0

我有麻煩我的形象更新Rails的file_filed沒有通過PARAMS

我的形式

= form_for @user, :html => {class: "form form_profile"} do |user| 
    = user.file_field :avatar 
.... other fields 
    end 

和控制器updateuser_avatar_params行動

def update 
respond_to do |format| 
     # binding.pry 
     if params[:user][:avatar] 

     if current_user.update(user_avatar_params) 
      flash[:notice] = 'Updated 
      format.html { render action: 'edit' } 
      format.js { render 'success_edit', layout: false } 
.... 
end 




def user_avatar_params 
    params.require(:user).permit(:avatar) 
end 

我PARAMS從控制檯

{"utf8"=>"✓", "_method"=>"patch", "user"=>{"current_password"=>"", "password"=>""}, "action"=>"update", "controller"=>"users", "id"=>"2"} 

我使用paperclip

它有什麼問題嗎?

回答

0

嘗試添加html: { multipart: true }代碼,如下例所示。

<%= form_for @user, url: users_path, html: { multipart: true } do |form| %> 
<%= form.file_field :avatar %> 
<% end %>