2017-11-02 22 views
0

맨 위로 질문 : 준비 및 프로덕션 서버가 메타 태그 및 열린 그래프를 위해 이미지를 올바르게 읽을 수 있도록 이미지를 만들고 저장하려면 어떻게해야합니까?Rails 서버에서 rmagick으로 만든 이미지를 찾을 수 없음

그래서 나는 챔피언 같은 이미지를 생성하고 실행 보석 rmagick 있습니다

 file_name = "#{@statement.id}.png" 
     file_path = "public/assets/" + file_name 

     canvas = Magick::Image.new(300, 100){self.background_color = 'white'} 
     gc = Magick::Draw.new 
     gc.pointsize(50) 
     gc.text(30,70, "#{@statement.text}".center(14)) 

     gc.draw(canvas) 
     canvas.write file_path 
     @img = file_name 

내보기에 내가 방금 만든 이미지 이름을하려고 해요, 그리고 메타 위해 사용 내 서버 Buuuuuut

<% file_name = '/public/assets/' + @img %> 
    <meta property="og:image" content=<%= file_name %>/> 

라 (오픈 그래프 목적 등) 태그는 내 자신을 상자에 SSH하고 파일을 관찰 할 수에도 불구 /public/assets/XYZ.png의 이미지를 찾을 수 없습니다 말하고있다.

이것은 Heroku 서버에 있으며, config.serve_static_files = trueconfig.assets.compile = true을 사용하지 않으려 고 시도했습니다.

물론 목표는 누군가 내 사이트에 대한 링크를 텍스트로 표시하고이 .png를 미리보기 이미지로 표시하는 것입니다.

답변

0

MD5 다이제스트없이 자산에 액세스 할 수 없습니다.

자산이 public/assets/image.png 인 경우 끝 부분의 다이제스트로만 액세스 할 수 있습니다 (예 : public/assets/image-c655834251f73d7714351aa287be8556.png).

ERB 헬퍼 메소드를 사용하여이를 수행 할 수 있습니다. 이 하나를 시도 : 나는 MD5 다이제스트 자산 컴파일 단계에서 생성 된 인상을

<%= asset_path('image.png') %>

+0

했다. 그 맞습니까? 이 상황에서 사용자가 웹 사이트를 방문 할 때마다 동적으로 이미지가 생성되므로 MD5 다이제스트가 없습니다. –