Ror + Скрепка: почему не работает? - PullRequest
1 голос
/ 04 февраля 2010

Я установил скрепку в свой проект как плагин, используя скрипт ruby ​​/ установка плагина http://github.com/thoughtbot/paperclip.git

Модель:

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 для #

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

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

Ответы [ 4 ]

1 голос
/ 04 февраля 2010

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

0 голосов
/ 01 июля 2012

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

Установите ImageMagick (если вы используете Mac OS X):

brew install imagemagick

Скажите скрепку, где найти imagemagick, добавьте

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

в вашу конфигурацию / environment / development.rb

Надеюсь, это поможет.

0 голосов
/ 19 ноября 2010

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

У вас должна быть структура папок, подобная этой:

RAILS_ROOT/vendor/plugins/paperclip/lib/paperclip.rb

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

. Я бы искал любую запись, подобную следующей:

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

Если вы найдете какую-либо запись, подобную этой, это может быть причинойпроблема.

0 голосов
/ 19 ноября 2010

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

config.gem "paperclip"

Файл 'config / environment.rb' должен решить эту проблему, если установлен гем.

...