2010-02-04 5 views
1

J'ai installé paperclip à mon projet en tant que plug-in en utilisant de script ruby ​​/ plugin installer http://github.com/thoughtbot/paperclip.gitRor + Paperclip: Pourquoi ne pas travailler?

Modèle:

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 

Mais les méthodes de contrôleur retourne: NoMethodError dans CompaniesController # nouvelle méthode non définie has_attached_file » pour #

Si j'essaie de "require 'paperclip'" avant la classe du modèle, retourné: MissingSourceFile dans CompaniesController # new chargement - trombone

Quel est le problème?

+1

Avez-vous redémarré votre serveur Rails? – meagar

Répondre

1

Le paperclip Railscast est une excellente source pour commencer à jouer avec un trombone, essayez de suivre ces étapes et dites-nous si votre problème persiste.

0

Ajouter la ligne:

config.gem "paperclip" 

A ce problème devrait résoudre 'config/environment.rb' en supposant que le bijou a été installé.

0

Étant donné que vous avez installé un trombone en tant que plug-in, vérifiez qu'il a bien été placé sur le bon chemin dans votre application. Il semble peu probable que ce ne serait pas correct, mais je préfère résoudre les problèmes en vérifiant ce qui fonctionne au lieu de ce qui ne fonctionne pas :)

Vous devriez avoir une structure de dossiers comme celui-ci:

RAILS_ROOT/fournisseur/plugins /paperclip/lib/paperclip.rb

Lorsque cela ressemble à ceci, les rails devraient charger paperclip.rb par défaut à chaque redémarrage du serveur. C'est à moins que l'application ne soit configurée pour ne pas charger tous les plugins par défaut. Ces configurations peuvent être trouvées dans config/environment.rb

je chercherais une entrée comme ce qui suit:

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

Si vous trouvez une entrée comme ceux-ci, qui pourraient être la cause du problème.

0

Peut être due à une installation d'ImageMagick manquante. Paperclip utilise ImageMagick pour traiter les images. Pour utiliser correctement paperclip assurez-vous que ImageMagick est installé et a accès à paperclip il:

Installer ImageMagick (si vous êtes sur Mac OS X):

brew install imagemagick 

Tell où trouver paperclip ImageMagick, ajouter

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

à votre config/environnements/development.rb

Hope this helps.