Я пытаюсь загрузить изображение в мое приложение 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“может не отображаться, поскольку она содержит ошибки»
Мои запросы:
- Где изображение загружается на сервер?
- Есть ли какая-либо конфигурация, которая должна быть выполнена?
- Есть ли другая проблема с моим кодом?
Заранее благодарим за любую помощь .. !!
Я знаю, как и при последнем использовании скрепки, изображение загружается в каталог 'public' – iGbanam
Yasky, это правда. Я как-то узнал, что по умолчанию изображения загружаются в/общедоступный каталог. Если быть точным,/root/rails_project/sample_app/public/system/pictures/photos .. Однако я не могу показать изображения с помощью метода show в контроллере изображения. Вы можете видеть, что я использую в методе show выше. Есть идеи?? –