プログラミング学習 備忘録

Railsを学習していく上での技術メモ。学んだことや解決したエラーなどを記録していきます。

掲示板実装② 学んだこと一覧

今回の実装を通して新たに学んだ知識が色々あった。 その中でも、実装時にエラーが出て詰まってしまったことや、特に印象に残った知識を箇条書きにしてまとめようと思う。



belongs_to :userで、UserモデルとBoardモデルを関連付けていれば、 validates :user_id, presence: trueのコードは不要。

・seed.rb内で、boardのサンプルを自動生成する際のuserについて、

user = User.all.sample

自分は上のコードで実装したのだが、これだと処理が重くなってしまうので下のコードがベター

User = User.offset(rand(User.count)).first

・データベースを全て削除し、schema.rbとseed.rbを再読み込みしてサンプルデータを生成し直すときは、bin/rails db:resetコマンドを使う。

・bootstrapのコードについて

<div class="col-sm-12 col-lg-4 mb-3">

Viewファイルでよく見かけるこのコードの意味について簡単に。 Bootstrapでは横の行を12のカラムに分割し、1つの要素でそのうちの何カラム分を使うか指定することができる。 それがこのコード

col-sm-12は、smallサイズのディスプレイ(スマホなど)では一つの要素で丸々12カラム使うよ〜という意味 col-lg-4は、largeサイズのディスプレイ(pcなど)では4カラム分使うよ〜という意味。

なので、前者では全てが縦に。後者では12/4の3つが横並びになることを意味する。

・config/application.rb内のコード

config.active_record.default_timezone = :local

このコードは非常に忘れやすいコードだが、DBに記録されているタイムゾーンを読み書きする際にどの時間が反映されるかを指定している。 :localとしておくと、システム(自分のPC)の時間が反映される。 config.time_zone = "Tokyo”と記載し、railsアプリの時間も日本時間にしておくことで、DBとアプリ、パソコンの時間のズレをなくすことができる。