2016-12-14 8 views
0

私はCarrierwaveを使用しているので、ユーザーは画像をアップロードできます。私はブログのウェブサイトを作っています。エラーはありませんが、画像が表示されません。 VIEWの後に画像を表示したい。ここに私のコードです:Ruby-On-Railsユーザーがアップロードした画像を表示する方法

Post.rbは

mount_uploader :image, ImageUploader 

投稿_form.html.erb

<div> 
    <%= form_for @post do |f|%> 
    <%= f.label :image %> 
    <%= f.file_field :image %> 
    </div> 

image_uploader.rb

def store_dir 
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" 
    end 

    def extension_white_list 
    %w(jpg jpeg gif png) 
    end 

投稿show.html.erb

<strong>Image:</strong> 
    <%= image_tag @post.image_url%> 
</p> 

アプリケーションを実行して投稿を表示すると、画像の下に画像は表示されません。

UPDATE:

私はImageMagickの/ GraphicsMagickのをインストールし、私はそれを投稿節約するために行くときに言う:

1 error prohibited this post from being saved: 
Image Failed to manipulate with MiniMagick, maybe it is not an image? `Original Error: ImageMagick/GraphicsMagick is not installed` 

、それは画像を表示するが、それはポストを保存文句を言わないの下に。

+0

は残念ながら@ post.image_url.to_s –

+0

@TonyVincentませ喜びを試してみてくださいません! – Jill

答えて

1

form_forは自動的にマルチパートのエンコーディングを設定しますが、私のプロジェクトではそれを定義します。これを試してみてください:

<%= form_for(@post, hmtl: { multipart: true }) do |f| %> 
+0

ありがとうございました:D – Jill

+1

ありがとう!私の最初に受け入れられた答え!セレブレーション! :D –

+2

Yay! :D幸せな日! – Jill

関連する問題