2017-11-02 6 views
0

質問:私のステージング/プロダクションサーバがメタタグとオープングラフの目的のために正しく読み込むことができるように、イメージを作成してRailsに保存するにはどうすればよいですか?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

ました。あれは正しいですか?このような状況では、私のイメージは、ユーザーがWebサイトにアクセスするたびにダイナミックに作成され、MD5ダイジェストは作成されません。 –

関連する問題