2010-02-04 2 views
1

Я установил скрепку в мой проект как плагин с помощью рубиновый скрипт/плагин установить http://github.com/thoughtbot/paperclip.gitRor + Paperclip: Почему бы не работать?

Модель:

class Company < ActiveRecord::Base 
    has_attached_file :logo, :styles => { :large => "300x300>", :medium => "100x100>", :thumb => "50x50>" } 
    validates_attachment_content_type :logo, :content_type => image/jpeg, :message => "Incorrect logo file type!" 
    validates_attachment_size :log, :max => 200, :message => "big file" 
end 

Но методы контроллер возвращает: NoMethodError в CompaniesController # новый неопределенный метод `has_attached_file» для #

Если я попытаюсь «потребовать« paperclip »перед классом модели, то возвращается: MissingSourceFile в CompaniesController # new Нет такого файла для load - paperclip

В чем проблема?

+1

Вы перезагрузили сервер Rails? – meagar

ответ

1

paperclip Railscast - отличный источник для начала работы с скрепкой, попробуйте выполнить эти шаги и сообщите нам, сохраняется ли ваша проблема.

0

Добавление строки:

config.gem "paperclip" 

К «конфигурации/environment.rb» должен решить была установлена ​​эта проблема предполагая драгоценный камень.

0

Поскольку вы установили paperclip в качестве плагина, убедитесь, что он действительно размещен по правильному пути в вашем приложении. Представляется маловероятным, что это не было бы правильным, но я предпочитаю, чтобы устранить путем проверки того, что работает вместо того, что не работает :)

Вы должны иметь структуру папок, как это:

RAILS_ROOT/поставщик/плагины /paperclip/lib/paperclip.rb

Когда это выглядит так, рельсы должны загружать paperclip.rb по умолчанию при каждом перезапуске сервера. То есть, если приложение не настроено НЕ загружать все плагины по умолчанию. Эти конфигурации могут быть найдены в конфигурационном/environment.rb

Я хотел бы посмотреть на любую запись, как следующее:

config.plugins ... 
config.plugin_paths ... 
config.plugin_locators ... 
config.plugin_loader ... 

Если вы нашли запись, как те, которые могут быть причиной проблемы.

0

Возможно, из-за отсутствия установки ImageMagick. Paperclip использует ImageMagick для обработки изображений. Для того, чтобы правильно использовать скрепку убедитесь, что установлен ImageMagick и скрепка имеет доступ к нему:

Установка ImageMagick (если вы на Mac OS X):

brew install imagemagick 

Телль скрепка, где найти ImageMagick, добавить

Paperclip.options[:command_path] = '/usr/local/bin/' 

в вашей конфигурации/сред/development.rb

Надежда это помогает.

Смежные вопросы