Нужна помощь в настройке скрепки - PullRequest
0 голосов
/ 05 мая 2011

Я пытаюсь использовать скрепку в первый раз. Я попытался использовать аватар для пользователя, но при просмотре профиля появляется только слово «отсутствует».

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 Ответ

1 голос
/ 05 мая 2011

В определении формы, по вашему мнению, есть: multipart => true?Что-то вроде:

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