ロイの奮闘記録

PdMをやってるロイの日記です。人のつながりを増やしたいと思いながら、社会と奮闘しています

#31 7/21 13章 ユーザーのマイクロソフト

#13章 ユーザーのマイクロソフト

※11章アカウントの有効化

12章パスワードの再設定はパス

 

micropostモデルの特徴

references型の利用

これを利用すると、自動的にインデックスと外部キー参照付きのuser_idカラムが追加され3、UserとMicropostを関連付けする下準備をしてくれます

 

userとmicropostの対応関係について

micropost.rb 

belong_to :user

 

user.rb

has_many :microposts

とかく。

 

@micropost = @user.microposts.build(content: "Lorem ipsum")

の下記方が正しい。

 

 default_scope -> { order(created_at: :desc) }

これを用いて、作成順に並び替える。

ymlでテストデータ作成

 

resources:なんだっけ

resources :microposts,          only: [:create, :destroy]

config/routes.rbに

resources :hoges1行を書くのみで複数のルーティングが定義されます。

 

ログイン要求

logged_in_userメソッドを使って、ログインを要

昔はuser.controllerだけだったが、micropostsでも必要なため、

application.controllerで定義

 

個人的なエラー

2) Error:
MicropostsControllerTest#test_should_redirect_destroy_when_not_logged_in:
NoMethodError: undefined method `micropost_path' for #<MicropostsControllerTest:0x00000000070e9438>

 

routes.rb にresoureces :mircropostsが抜けていた。

 

 

13.3.2不明

パーシャルは似たような機能を一つにまとめることが出来る機能

リスト13-39が大事そうかつ不明

 

app/views/shared/

フォルダ不明 htmlらしいが、何を表しているのか。

 

マイクロソフトの画像投稿

ファイルサイズに関するvalidationはrailsにはない。

mircropost.rbの

  def picture_size
      if picture.size > 5.megabytes
        errors.add(:picture, "should be less than 5MB")
      end
    end

などで定義。

 

上記がサーバー再度の話。クライアントサイドは、jQueryなどでする

app/views/shared/_micropost_form.html.erb で管理

 

uploaders/picture_uploader.rb

は、画像に関する検証の定義などをするところ

CarrierWaveを用いて、画像のリサイズなども行う

 

13.3.4はパス

本番環境での画像保存場所変更

AWS,herokuを使用

 

追加の不明点

  • user.microposts.build(...)というコードは、引数で与えたユーザーに関連付けされたマイクロポストを返す