2011-02-09 3 views
0
irb(main):001:0> e = Event.last 
=> #<Event id: 7, address: "123 Main St", start_date: "2011-02-09", start_time: "2000-01-01 14:49:00", title: "Test Event", poster_file: "\377���JFIF\000\001\002\000\000d\000d\000\000\377�Ducky\000\001\000\004\000\000\0002\000\000\377�!Adobe\000d�...", poster_thumb_file: nil, created_at: "2011-02-09 14:49:45", updated_at: "2011-02-09 14:49:45", poster_file_name: nil, poster_content_type: "image/jpeg", poster_file_size: 134218, poster_updated_at: "2011-02-09 14:49:44"> 
irb(main):002:0> e.poster.url 
=> "/posters/original/missing.png?1297262984" 

Pat Shaughnessy에서 클립 클립을 사용하고 있습니다. 나는 또한 시도하고 또 다른 포크와 동일한 문제가 here 발견, 그래서 이것은 꽤 바보 같은 일을하고 있는지 꽤 확신 해요. 내 응용 프로그램은 heroku에서 호스팅됩니다.종이 클립 DB 보관 : 첨부 파일은 들어 있지만 나오지 않아요.

resources :events do 
    member do 
    get :poster 
    end 
end 

를 컨트롤러에 내가 가지고 : 나는 원래 클립을 포크와 포스터에 대한 나의 경로는 다음과 같습니다 3. 레일을 적용하려고하는 사람의 the instructions을 따라

class EventsController < ApplicationController  
    downloads_files_for :event, :poster 
... 
end 

및 모델 :

class Event < ActiveRecord::Base 
    attr_accessor :poster_thumb_file, :poster_file_name 
    has_attached_file :poster, :storage => :database, :styles => {:thumb => { :geometry => "100x100>", :column => 'poster_thumb_file'}} 
end 

나는 이러한 이미지를 표시 할 수없는 무엇인지 알아낼 수 없습니다. 모든 조언을 부탁드립니다!

답변

0

은 루트 파일에 복수 "포스터"를보십시오

resources :events do 
    member do 
    get :posters 
    end 
end 

downloads_files_for 방법은 URL에서 복수의 첨부 파일 이름을 가정; https://github.com/patshaughnessy/paperclip/blob/master/lib/paperclip/storage/database.rb#L190

URL에 "포스터"가 아닌 "포스터"를 사용하려면 수동으로 컨트롤러 작업을 직접 작성해야합니다. 기본적으로 그것은 단지 Event.find ...이고 Event.poster.file_contents를 사용하여 send_data를 호출하고 유형 및 파일 이름도 전달합니다.

수정 했습니까? - pat

+0

감사합니다. Pat. 웬일인지 아직도 그 does not는 일한다. DB에서 볼 수 있습니다. 너무 가까이서 아직까지 ... – mikewilliamson

+0

당신이 제안하는 경로로 URL/이벤트/포스터/8에서 포스터를 볼 수 있어야합니까? 도착 : "/ events/posters/8"과 일치하는 경로 없음 – mikewilliamson

+0

아니요/events/8/posters가 될까요? style = 원본 및 스타일은 기본적으로 원본 일 것입니다. "긁어 모으기"를 실행하여 경로 패턴이 무엇인지 볼 수 있습니다. – pat