Rails アプリケーションに画像をアップロードしようとしています。しかし、私はそうすることができません。私はレールに比較的慣れていないので、ここで助けが必要です。
ここに示す「画像」モデルがあります-
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>
Upload ページ (つまり、Pictures Controller の new.html.erb) にアクセスできます。ただし、画像をアップロードすると、次のエラーが発生します。
「この画像 "http://10.102.119.20:3000/pictures/12" はエラーが含まれているため表示できません」
私のクエリは次のとおりです。
- 画像はサーバーのどこにアップロードされますか?
- 実行する必要がある構成はありますか?
- 私のコードに他の問題はありますか?
助けてくれてありがとう..!!