「Railsで画像をデータベースに登録し表示する。」の版間の差分
提供: sha.ngri.la
細 |
細 |
||
14行目: | 14行目: | ||
</pre> | </pre> | ||
<code>photo</code>に画像を登録します。 | <code>photo</code>に画像を登録します。 | ||
− | + | ==画像の登録== | |
− | ==_form.html.erbを編集== | + | ===_form.html.erbを編集=== |
<pre> | <pre> | ||
<div class="form-group"> | <div class="form-group"> | ||
24行目: | 24行目: | ||
を追加しました。 | を追加しました。 | ||
− | ==images.controller.rbを編集== | + | ===images.controller.rbを編集=== |
<pre> | <pre> | ||
def create | def create | ||
34行目: | 34行目: | ||
</pre> | </pre> | ||
<code>photo = imgae_params[:photo]</code>以下5行を追加しました。 | <code>photo = imgae_params[:photo]</code>以下5行を追加しました。 | ||
+ | <pre> | ||
+ | def image_params | ||
+ | params.require(:image).permit(:filename, :memo, :photo) | ||
+ | end | ||
+ | </pre> | ||
+ | <code>def image_params</code>に<code>:photo</code>を追加しました。 | ||
+ | |||
+ | ==画像の表示== | ||
+ | ===routes.rbの編集=== | ||
+ | 次の6行を追加。 | ||
+ | <pre> | ||
+ | resources :images | ||
+ | resources :images do | ||
+ | member do | ||
+ | get 'show_image' | ||
+ | end | ||
+ | end | ||
+ | </pre> | ||
2014年8月18日 (月) 14:07時点における版
目次
モデルなどの状況
mysql> describe images; +------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+--------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | filename | varchar(255) | YES | | NULL | | | memo | text | YES | | NULL | | | photo | mediumblob | YES | | NULL | | | created_at | datetime | YES | | NULL | | | updated_at | datetime | YES | | NULL | | +------------+--------------+------+-----+---------+----------------+
photo
に画像を登録します。
画像の登録
_form.html.erbを編集
<div class="form-group"> <%= f.label :photo %> <%= f.file_field :photo %> </div>
を追加しました。
images.controller.rbを編集
def create photo = image_params[:photo] image = {} if photo != nil image_params[:photo] = photo.read end
photo = imgae_params[:photo]
以下5行を追加しました。
def image_params params.require(:image).permit(:filename, :memo, :photo) end
def image_params
に:photo
を追加しました。
画像の表示
routes.rbの編集
次の6行を追加。
resources :images resources :images do member do get 'show_image' end end