2013-04-14 6 views
0

J'ai donc une configuration Ruby on Rails avec Devise et Paperclip. J'ai réussi à convertir mes fichiers erb en HAML et j'ai toujours des problèmes lorsque j'essaie de mettre une entrée de pièce jointe dans la nouvelle vue d'enregistrement. J'ai pris les mesures appropriées pour faire la migration avec Paperclip, La table User a toutes les colonnes d'image appropriées, mais toujours obtenir une erreur d'exécution lorsque je mets l'entrée d'image sur la page. Je suis assez nouveau à Ruby on Rails (seulement environ un mois d'apprentissage et de screencasts et de cours) et je suis vraiment coincé. Je préférerais ne pas recommencer, car il a fallu du temps pour construire, mais j'espérais obtenir des réponses ici! Merci!RuntimeError - Aucune entrée trouvée pour le binaire

gem 'rails', '3.2.11' 
gem 'jquery-rails' 
gem 'devise' 
gem 'simple_form' 
gem "paperclip", "~> 3.0" 
gem "haml" 

Voici l'erreur:

Extracted source (around line #6): 

3: = f.error_notification 
4: = f.full_error :image_file_size, class: "alert alert-error" 
5: = f.full_error :image_content_type, class: "alert alert-error" 
6: = f.input :image, label: "Upload an image" 
7: = f.input :name, :autofocus => true 
8: = f.input :email 
9: = f.input :password 

app/views/devise/registrations/new.html.haml:6:in `block in _app_views_devise_registrations_new_html_haml___1664083891059168154_70305669109760' 
app/views/devise/registrations/new.html.haml:2:in `_app_views_devise_registrations_new_html_haml___1664083891059168154_70305669109760' 

est la vue de new.html.haml:

%h2 Sign up 
= simple_form_for(resource, :as => resource_name, :url => registration_path(resource_name), html: {class: 'form-horizontal'}) do |f| 
= f.error_notification 
= f.full_error :image_file_size, class: "alert alert-error" 
= f.full_error :image_content_type, class: "alert alert-error" 
= f.input :image, label: "Upload an image" 
= f.input :name, :autofocus => true 
= f.input :email 
= f.input :password 
= f.input :password_confirmation 
.form-actions 
    = f.submit "Sign up", class: "btn btn-primary" 
= render "devise/shared/links" 

Voici le modèle:

class User < ActiveRecord::Base 
    devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable, :omniauthable 

    attr_accessible :name, :email, :password, :password_confirmation, :remember_me, :provider, :uid, :image 
    validates :description, presence: true 
    validates :user_id, presence: true 
    validates_attachment :image, presence: true, 
     content_type: { content_type: ['image/jpeg', 'image/jpg', 'image/png', 'image/gif'] }, size: { less_than: 2.megabytes } 
    has_attached_file :image, styles: { medium: "320x240>"} 
end 

Oh et voici mon schéma DB:

add_index "referrals", ["user_id"], :name => "index_referrals_on_user_id" 

create_table "users", :force => true do |t| 
    t.string "email",          :default => "", :null => false 
    t.string "encrypted_password",      :default => "", :null => false 
    t.string "reset_password_token" 
    t.datetime "reset_password_sent_at" 
    t.datetime "remember_created_at" 
    t.integer "sign_in_count",        :default => 0 
    t.datetime "current_sign_in_at" 
    t.datetime "last_sign_in_at" 
    t.string "current_sign_in_ip" 
    t.string "last_sign_in_ip" 
    t.datetime "created_at",            :null => false 
    t.datetime "updated_at",            :null => false 
    t.string "name" 
    t.string "provider" 
    t.string "uid" 
    t.binary "image",     :limit => 1048576 
    t.string "image_file_name" 
    t.string "image_content_type" 
    t.integer "image_file_size" 
    t.datetime "image_updated_at" 
end 

    add_index "users", ["email"], :name => "index_users_on_email", :unique => true 
    add_index "users", ["reset_password_token"], :name => "index_users_on_reset_password_token", :unique => true 

Oh une dernière chose, je n'installe ImageMagick sur ma machine OSX (10.8) avant d'installer paperclip

+0

s'il vous plaît essayer '= f.input: image, comme:: Fichier, label: "Ajouter une image"' –

+0

Merci Nash! Je pensais que j'ai effectivement utilisé comme: attribut de fichier, mais je suppose que j'ai raté cette partie. Vous êtes géniaux les gars! – Lazmeister

Répondre

0

Pouvez-vous coller l'erreur tout? Quel est le titre de l'erreur? Le code & erreur que vous avez montré est juste la ligne dans laquelle il s'est produit, mais nous ne savons toujours pas exactement ce qu'il jette.

PS. A propos de la vue - j'espère que c'est juste mauvais coller, parce que, comme je peux le voir, il a mal prévu des blocs.

0

Cela a fini par corriger l'erreur page

= f.input :image, as: :file, label: "Upload an image" 
Questions connexes