开发者

Need help setting up paperclip

开发者 https://www.devze.com 2023-03-03 02:13 出处:网络
I\'m trying to use paperclip for the first time. I tried using avatar for user but when I view pr开发者_如何学编程ofile only thing that shows up is the word \'missing\'.

I'm trying to use paperclip for the first time. I tried using avatar for user but when I view pr开发者_如何学编程ofile only thing that shows up is the word 'missing'.

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

Users Model

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

Once I included validations I get error when trying to create or edit a user

Avatar file name must be set.


In the form definition in your view, do you have :multipart => true? Something along the line of:

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

精彩评论

暂无评论...
验证码 换一张
取 消