13章 ユーザーのマイクロソフト
デフォルトスコープ
order(引数)で、順番を並び替える
dependent: :destroyで、user削除で投稿も削除される
logged_inメソッドの移行
元々users_controller.rbでいじっていたものを、microposts_controller.rbでもいじりたいため、application_controller.rbで実装
マイクロソフトの作成画面
microposts/newなどと新たに作成するのではなく、
home画面にフォームを作る。
そのためには、「ユーザーのログイン状態に応じて、ホーム画面の表示を変更する」ことを行う。
パーシャルはhome画面にフォームを作るため(一つの画面の上に別機能)
に実装!?
Micropostsの作成にあたって
def micropost_params params.require(:micropost).permit(:content) end
のrequireって何だろう。
whereメソッド
当てはまるレコード取得する。部分集合の取得。
画像アップローダーについて
carrierWaveを用いる。
mount_uploader :picture, PictureUploader
このメソッドは、引数に属性名のシンボルと生成されたアップローダーのクラス名を取ります。
_micropost_form_html.erbの
<%= f.file_field :picture %>
が画像アップローダーを表している。
→パーシャルやなあ。
画像のバリデーション
1.拡張子 2.ファイルサイズ どちらもサーバー・クライアントサイド両側やる。
サーバー:picture_uploader.rbとuser.rbで独自
クライアント:acceptパラメータとjsで実装
CarrierWaveを通したS3について
ユーザー名Takuto
グループ sample_app
アクセスキー key
シークレットキー(オプション) optionにした
東京 "ap-northeast-1"
S3については再度理解が必要。そもそも何か分かっていない。
クラウドストレージなのかな?
---
herokuへの処理で、
Precompiling assets failed.
To https://git.heroku.com/stark-island-21648.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/stark-island-21648.git'