Cloudinary Gem
画像の管理にを使用しています。私はRubyonRailsの初心者なので、どこが間違っているのかわかりません。cloudinaryサーバーへの画像のアップロードは行われますが、サーバーから画像を取得できません。ビュー、コントローラー、アップローダークラスをここに配置します。前述のように、キャリアウェーブをインストールし、gemファイルのcloudinarygemの前に貼り付けました。
コントローラconsole.rb
class ConsoleController < ApplicationController
layout 'console'
def c_view
@img = Image.new
end
def create
@img = Image.new(params[:img])
if @img.save
redirect_to(:action => 'c_view')
else
render('c_view')
end
end
end
ImageUploaderクラス
class ImageUploader < CarrierWave::Uploader::Base
include Cloudinary::CarrierWave
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
version :standard do
process :eager => true
process :resize_to_fill => [1200, 800, :north]
end
version :thumb do
eager
resize_to_fit(200, 200)
end
def public_id
return model.photo_file_name
end
end
ビュー
アップロード用
<%= form_for :img, :url => {:action => "create"} do |f| %>
<%= f.label :gallery, "Gallery"%>
<%= f.select :gallery, ["Art", "Bike", "Landscape", "Other", "Portrait"] %>
<%= f.label :photo_file_name, "Title" %>
<%= f.text_field :photo_file_name %>
<%= f.label :camera_model, "Camera" %>
<%= f.text_field :camera_model %>
<%= f.label :lens_used, "Lens" %>
<%= f.text_field :lens_used %>
<%= f.label :shutter_speed, "Shutter Speed" %>
<%= f.text_field :shutter_speed %>
<%= f.label :aperture, "Aperture" %>
<%= f.text_field :aperture %>
<%= f.label :iso, "ISO" %>
<%= f.text_field :iso %>
<%= f.label :description, "Description" %>
<%= f.text_area :description, :rows => 2 %>
<%= f.file_field :image %>
<%= f.submit "Submit", class: "btn btn-success"%>
<% end %>
表示用
<%= image_tag (@img.image_url :thumb, :width => 200, :height => 200) %>
モデル画像
class Image < ActiveRecord::Base
belongs_to :user
attr_accessible :id, :user_id, :name, :camera_model, :lens_used, :shutter_speed, :aperture, :iso, :gallery, :description, :photo_file_name, :photo_file_size, :photo_updated_at, :image, :image_url
mount_uploader :image, ImageUploader
end
エラーは表示されていません。アップロード部分は機能していますが、画像の取得は機能していません。助けてください。