2014-01-12 3 views
1

Я пытаюсь настроить загрузку аватара на модель DEViSE с Скрепкой и S3Рубин на Rails 4 - Скрепка + S3 + Придумайте форму загрузки

index.html.haml

= form_for(@user) do |f| 
    - if @user.errors.any? 
    #error_explanation 
     %h2 
     = pluralize(@user.errors.count, "error") 
     prohibited this friend from being saved: 
     %ul 
     - @user.errors.full_messages.each do |msg| 
      %li= msg 
    .field 
    = f.label :avatar 
    %br 
    = f.file_field :avatar 
    %br 
    .actions 
    = f.submit 'Upload avatar' 

маршрутов .rb

resources :users 

paperclip.rb (инициализатор, это все содержание)

Paperclip::Attachment.default_options[:storage] = :s3 
Paperclip::Attachment.default_options[:s3_protocol] = 'http' 
Paperclip::Attachment.default_options[:s3_credentials] = 
    { :bucket => 'secret', 
     :access_key_id => 'secret', 
     :secret_access_key => 'secret' } 
Paperclip::Attachment.default_options[:url] = ':s3_domain_url' 
Paperclip::Attachment.default_options[:path] = '/:class/:attachment/:id_partition/:style/:filename' 
Paperclip::Attachment.default_options[:s3_host_name] = 's3-us-west-2.amazonaws.com' 

index_controller.rb

def index 
    @user = User.new 
end 

production.rb & development.rb

# Nothing to do with paperclip 

Так моя проблема: Когда я загрузка изображений я получаю маршрутизации Ошибки: неинициализированную постоянная UsersController

Я довольно новичок в Rails. Что мне делать? Или у кого-нибудь есть пример?

ответ

1

Вы не создали Контроллер Пользователя, и когда вы используете form_for, используйте собственные маршруты объекта.

, как в вашем случае это будет:

<form action="/users" method="POST"> 

В Routes это карта на:

users#create 

Вы проверяете его в IndexController, что это неправильно. Ваш запрос отправляется на UserController и на создание действия. Вы должны создать контроллер пользователей и создать в нем действие.

users_controller.rb

Как это:

class UsersController < ApplicationController 
def create 
    @user = User.new 
end 
end 
Смежные вопросы