Ruby on Rails3 画像ファイルアップロード用に「Carrierwave」をインストール
画像ファイルアップロード用に「Carrierwave」をインストールした。
[環境]
Windows8
Ruby 1.9.3(p125)
Ruby on Rails 3.2.9
Gemfileに下記のように記述する。
gem "carrierwave", "~> 0.8.0"
コマンドプロンプトでbundle installを実行する。
bundle insatall
アップロード用のクラスを生成するため、コマンドプロンプトで下記を実行する。
rails g uploader image
コマンドプロンプトでtemplateというモデル等を作成する。
rails g scaffold template name:string image:string
モデルに紐づける。
\app\models\template.rbに追記する。
class Template < ActiveRecord::Base attr_accessible :image, :name mount_uploader :image, ImageUploader #これを追加 end
ビューの修正。
\app\views\templates\new.html.erbを修正する。
# <%= form_for(@template) do |f| %> 修正前 <%= form_for @template, :html => {:multipart => true} do |f| %> # 修正後 … # <%= f.text_field :image %> 修正前 <%= f.file_field :image %> # 修正後
\app\views\templates\show.html.erbを修正する。
# <%= @template.image %> 修正前 <%= image_tag @template.image.to_s %> # 修正後
参考:
Railsでcarrierwaveを使って画像ファイルのアップロード
【Rails3】CarrierWaveで画像ファイルのアップロード - HomeBrewStudioの約3行日記