2016-08-12 2 views
-1

Je suis en train d'utiliser la pierre précieuse de paperclip pour afficher des images, mais la sortie i get it image manquanteimage manquante lors de l'utilisation gem paperclip

est le contrôleur ci-dessous et des fichiers de modèle respectivement

CONTROLFILE

class HandymenController < ApplicationController 
    before_action :find_handyman, only: [:show, :edit, :update, :destroy] 

    def index 
     if params[:profession].blank? 
      @handymen = Handyman.all.order("created_at DESC") 
     else 
      @profession_id = Profession.find_by(name: params[:profession]).id 
      @handymen = Handyman.where(:profession_id => @profession_id).order("created_at DESC") 
     end 
    end 

    def show 
    end 

    def new 
     @handyman = current_user.handymen.build 
     @professions = Profession.all.map{ |p| [p.name, p.id] } 
    end 

    def create 
     @handyman = current_user.handymen.build(handyman_params) 
     @handyman.profession_id = params[:profession_id] 

     if @handyman.save 
      redirect_to root_path 
     else 
      render 'new' 
     end 
    end 

    def edit 
     @professions = Profession.all.map{ |p| [p.name, p.id] } 
    end 

    def update 
     @handyman.profession_id = params[:profession_id] 
     if @handyman.update(handyman_params) 
      redirect_to handyman_path(@handyman) 
     else 
      render 'edit' 
     end 
    end 

    def destroy 
     @handyman.destroy 
     redirect_to root_path 
    end 

    private 

    def handyman_params 
     params.require(:handyman).permit(:name, :location, :phone_number, :profession_id, :handyman_img) 
    end 

    def find_handyman 
     @handyman = Handyman.find(params[:id]) 
    end 
end 

Modèle fichier

class Handyman < ActiveRecord::Base 
    belongs_to :user 
    belongs_to :profession 

    has_attached_file :handyman_img, styles: { handyman_index: "250x350>", handyman_show: "325x475>" } 
    validates_attachment_content_type :handyman_img, content_type: /\Aimage\/.*\Z/ 
end 

Error Log

ActionController :: RoutingError (Aucun résultat de l'itinéraire [GET] "/handyman_imgs/handyman_show/missing.png"): actionpack (4.2.6) lib/action_dispatch/middleware/debug_exceptions.rb: 21: en call'
web-console (2.3.0) lib/web_console/middleware.rb:28:in
bloc dans appel 'web-console (2.3.0) lib/Web_console/middleware.rb: 18: dans catch' web-console (2.3.0) lib/web_console/middleware.rb:18:in appel' actionpack (4.2.6) lib/action_dispatch/middleware/show_exceptions.rb: 30: dans call'
railties (4.2.6) lib/rails/rack/logger.rb:38:in
call_app 'railties (4.2.6) lib/rails/rack/logger.rb: 20: dans block in call' activesupport (4.2.6) lib/active_support/tagged_logging.rb:68:in bloquer dans'
activeupport (4.2.6) lib/active_support/tagged_logging.rb: 26: dans tagged' activesupport (4.2.6) lib/active_support/tagged_logging.rb:68:in tagged 'railties (4.2.6) lib/rails/rack/logger.rb: 20: call' actionpack (4.2.6) lib/action_dispatch/middleware/request_id.rb:21:in appel' rack (1.6.4) lib/rack/methodoverride.rb: 22: dans call' rack (1.6.4) lib/rack/runtime.rb:18:in appel 'activesupport (4.2.6) lib/active_support/cache/stratégie/local_cache_middleware.rb: 28: dans call' rack (1.6.4) lib/rack/lock.rb:17:in appel ' actionpack (4.2.6) lib/action_dispatch/middleware/static.rb: 120: en appel call' rack (1.6.4) lib/rack/sendfile.rb:113:in' railties (4,2 .6) lib/rails/engine.rb: 518: dans call' railties (4.2.6) lib/rails/application.rb:165:in appel 'rack (1.6.4) lib/rack/lock.rb: 17: dans call' rack (1.6.4) lib/rack/content_length.rb:15:in appel' rack (1.6.4) lib/rack/handler/webrick.rb: 88: dans service'
C:/Ruby21-x64/lib/ruby/2.1.0/webrick/httpserver.rb:138:in
service '
C : /Ruby21-x64/lib/ruby/2.1.0/webrick/httpserver.rb: 94: dans run'
C:/Ruby21-x64/lib/ruby/2.1.0/webrick/server.rb:295:in
bloc dans start_thread »

Rendus C: /Ruby21-x64/lib/ruby/gems/2.1. 0/gems/actionpack-4.2.6/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (3.0ms) Rendu C: /Ruby21-x64/lib/ruby/gems/2.1.0/gems/ actionpack-4.2.6/lib/action_dispatch/middleware/templates/routes/_route.html.erb (4.0ms) Rendu C: /Ruby21-x64/lib/ruby/gems/2.1.0/gems/actionpack-4.2. 6/lib/action_dispatch/middleware/templates/routes/_table.html.erb (120.1ms) Rendu C: /Ruby21-x64/lib/ruby/gems/2.1.0/gems/actionpack-4.2.6/lib/ action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (3.0ms) Rendu C: /Ruby21-x64/lib/ruby/gems/2.1.0/gems/actionpack-4.2.6/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb dans les opérations de sauvetage/mise en page (409.4ms) Rendu C: /Ruby21-x64/lib/ruby/gems/2.1.0/gems/web-console-2.3.0/lib/web_console/templates/_markup.html.erb (1.0ms) Rendu C:/Ruby21-x64/lib/ruby ​​/ gems/2.1.0/gems/console-web-2.3.0/lib/web_console/templates/_inner_console_markup.html.erb dans les layouts/chaîne_inline (1.0ms) Rendu C:/Ruby21 -x64/lib/ruby ​​/ gems/2.1.0/gems/console-web-2.3.0/lib/web_console/templates/_prompt_box_markup.html.erb dans les mises en page/chaîne_inline (1.0ms) Rendu C:/Ruby21- x64/lib/ruby ​​/ gems/2.1.0/gems/console-web-2.3.0/lib/web_console/templates/style.css.erb dans les mises en page/chaîne_inline (1.0ms) Rendu C: /Ruby21-x64/lib/ruby/gems/2.1.0/gems/web-console-2.3.0/lib/web_console/templates/console.js.erb à l'intérieur de mises en page/javascript (288.3ms) a rendu C: /Ruby21-x64/lib/ruby/gems/2.1.0/gems/web-console-2.3.0/lib/web_console/templates/main.js.erb within layouts/javascript (1.0ms) Rendu C: /Ruby21-x64/lib/ruby/gems/2.1.0/gems/web-console-2.3.0/lib/web_console/templates/error_page.js.erb dans les dispositions/javascript (1.0ms) Rendu C: /Ruby21-x64/lib/ruby/gems/2.1.0/gems/web-console-2.3.0/lib/web_console/templates/index.html.erb (431.4ms

+0

Comment affichez-vous l'image dans votre vue? où est le journal des erreurs? .... – kirqe

+0

juste une seconde s'il vous plaît – Phraseassembler

+0

voici le fichier show.html.erb – Phraseassembler

Répondre

0

Dans votre erb voir, vous devriez avoir quelque chose comme

<%= image_tag(@handyman.handyman_img(:handyman_index)) %> 
<%= image_tag(@handyman.handyman_img(:handyman_show)) %> 

en fonction de la taille que vous voulez afficher.

+0

quel fichier erb parlez-vous? – Phraseassembler

+0

Il signifie le fichier de vue dans lequel vous voulez afficher l'image. –

+0

je l'ai fait dans le fichier show.html.erb et il n'a pas le changer – Phraseassembler