需要帮助设置回形针

时间:2011-05-04 20:13:48

标签: ruby-on-rails-3 ubuntu paperclip

我第一次尝试使用回形针。我尝试使用头像用户,但是当我查看个人资料时,只显示“失踪”这个词。

class UsersController < ApplicationController
    # GET /users
    # GET /users.xml
    def index
        @users = User.all

        respond_to do |format|
            format.html # index.html.erb
            format.xml  { render :xml => @users }
        end
    end

    # GET /users/1
    # GET /users/1.xml
    def show
        @user = User.find(params[:id])

        respond_to do |format|
            format.html # show.html.erb
            format.xml  { render :xml => @user }
        end
    end

    # GET /users/new
    # GET /users/new.xml
    def new
        @user = User.new

        respond_to do |format|
            format.html # new.html.erb
            format.xml  { render :xml => @user }
        end
    end

    # GET /users/1/edit
    def edit
        @user = User.find(params[:id])
    end

    # POST /users
    # POST /users.xml
    def create
        @user = User.new(params[:user])

        respond_to do |format|
            if @user.save
                format.html { redirect_to(:users, :notice => 'Registration successfull.') }
                format.xml { render :xml => @user, :status => :created, :location => @user }
            else
                format.html { render :action => "new" }
                format.xml { render :xml => @user.errors, :status => :unprocessable_entity }
            end
        end
    end

    # PUT /users/1
    # PUT /users/1.xml
    def update
        @user = User.find(params[:id])

        respond_to do |format|
            if @user.update_attributes(params[:user])
                format.html { redirect_to(@user, :notice => 'User was successfully updated.') }
                format.xml  { head :ok }
            else
                format.html { render :action => "edit" }
                format.xml  { render :xml => @user.errors, :status => :unprocessable_entity }
            end
        end
    end

    # DELETE /users/1
    # DELETE /users/1.xml
    def destroy
        @user = User.find(params[:id])
        @user.destroy

        respond_to do |format|
            format.html { redirect_to(users_url) }
            format.xml  { head :ok }
        end
    end
end

用户模型

class User < ActiveRecord::Base
  acts_as_authentic

  has_attached_file :avatar, :styles => { :medium => "300x300>", :thumb => "100x100>" }

  validates_attachment_presence :avatar
  validates_attachment_size :avatar, :less_than => 5.megabytes
  validates_attachment_content_type :avatar, :content_type => ['image/jpeg', 'image/png']
end

一旦我加入了验证,我在尝试创建或编辑用户时会收到错误

Avatar file name must be set.

1 个答案:

答案 0 :(得分:1)

在视图中的表单定义中,您有:multipart =&gt;真正?类似的东西:

<%= form_tag({:action => :upload}, :multipart => true) do %>