设计注册控制器+回形针

Pav*_* K. 7 ruby-on-rails crop paperclip devise

我试图覆盖设计注册控制器,以便用户能够上传他的化身以及更改其他数据,并在上传后裁剪userpic.

我添加了所有necesarry用户回形针属性,创建了裁剪视图,我的注册控制器看起来像这样:

class RegistrationsController < Devise::RegistrationsController
    def update

    if params[resource_name][:avatar].blank?
            super
    else
            @user=resource
       respond_to do |format|
         if resource.update_attributes(params[resource_name])
            flash[:notice]='Avatar successfully uploaded.'
            format.html {
                    render :action => 'crop'
            }
           format.xml  { head :ok }
          else
            format.html { render :action => "editpicture" }
            format.xml  { render :xml => @demotivator.errors, :status => :unprocessable_entity }
          end
       end
    end
    end

end
Run Code Online (Sandbox Code Playgroud)

但是当我提交带有图片的表单时,没有任何反应,除了firefox显示"正在加载......"!在开发日志中绝对没有更新.. :(

谁能告诉我,我能做错什么?

PS.用户编辑表单看起来像这样:

<%= form_for(@user, :url => registration_path(@user), :html => {:id => "userpic_form", :method => :put, :multipart => true}) do |f| %>
 <p class="box1_po">Current password: <%= f.password_field :current_password %></p>
 <p class="box1_po">Please select your user picture:
                                            <%= f.file_field :avatar  %>
 </p>
 <input type="submit" class="usubmit"><%= link_to "UPLOAD", "#", :onclick => "$('#userpic_form').submit();"%>
<% end %>
Run Code Online (Sandbox Code Playgroud)

Pav*_* K. 7

发生我只需添加

attr_accessible :avatar
Run Code Online (Sandbox Code Playgroud)

在用户模型中,它开始正常工作

  • 但是,如何为Rails 4应用程序完成这项工作? (4认同)