2012-07-03 2 views
2

Я пытаюсь загрузить изображение в мое приложение Rails. Однако я не могу этого сделать. Я относительно новичок в рельсах, и мне нужна помощь здесь.Загрузка изображений с помощью paperclip в rails 3

я показал «Картина» Модель здесь -

class Picture < ActiveRecord::Base 

    attr_accessible :photo, :tag 

    has_attached_file :photo, :styles => { :medium => "300x300>", 
    :large => "1000x1000>",  :thumb => "100x100>" } 

end 

У меня есть контроллер «картинка» показан здесь -

class PicturesController < ApplicationController 

    def new 
      @picture = Picture.new 
    end 

    def create 
      @picture = Picture.create(params[:picture]) 
      if @picture.save 
        flash.now[:success] = "Image Uploaded" 
        redirect_to @picture 
      else 
        render 'new' 
      end 
    end 

    def index 
    end 

    def show 
      @picture = Picture.find(params[:id]) 
      send_data @picture.photo, :type => 'image/png', :disposition => 'inline' 
    end 

    def imageshow 
    end 

end 

Наконец, Это мое «новое» и «шоу» просмотров:

"new.html.erb"

<h1>Upload an Image</h1> 
<div> 
    <%= form_for(@picture, :html => {:multipart => true}) do |f| %> 
     <%= f.file_field :photo %> 
     <%= f.label :tag %> 
     <%= f.text_field :tag %> 
     <%= f.submit "Submit", class: "btn btn-large btn-primary" %> 
    <% end %> 
</div> 

"show.html.erb"

<h1>Displaying Uploaded Image</h1> 
<div> 
    <%= image_tag @picture.photo.url %> 
    <%= image_tag @picture.photo.url(:large) %> 
</div> 

Я могу достичь страницу загрузки (т.е. new.html.erb в картинках Controller). Тем не менее, когда я загрузить изображение я получаю следующее сообщение об ошибке:

«Это изображение„http://10.102.119.20:3000/pictures/12“может не отображаться, поскольку она содержит ошибки»

Мои запросы:

  1. Где изображение загружается на сервер?
  2. Есть ли какая-либо конфигурация, которая должна быть выполнена?
  3. Есть ли другая проблема с моим кодом?

Заранее благодарим за любую помощь .. !!

+0

Я знаю, как и при последнем использовании скрепки, изображение загружается в каталог 'public' – iGbanam

+0

Yasky, это правда. Я как-то узнал, что по умолчанию изображения загружаются в/общедоступный каталог. Если быть точным,/root/rails_project/sample_app/public/system/pictures/photos .. Однако я не могу показать изображения с помощью метода show в контроллере изображения. Вы можете видеть, что я использую в методе show выше. Есть идеи?? –

ответ

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