テックキャンプ45日目

kobasaです(´ω`*)少しずつ調子が戻ってまいりました。ところで、
「佐川急便よりお荷物のお届けに上がりましたが宛先不明の為持ち帰りました」
というよくわからんSMSが届きました。宛先不明な物を持って来んなよ(´・ω・`)
まぁ調べればすぐ分かる偽のメッセージですね。しかし土曜に注文して月曜に偽メッセージなのでどっかから何か漏れてんのかもしれませんね。

45日目の勉強内容

collectionオプション

複数の要素が入っているインスタンス(全てのコメントなど)を指定すると、部分テンプレートが繰り返し表示になる。

<% = render partial: '部分テンプレートへのパス', collection: 繰り返し表示したい要素が入ったインスタンス %>

l(エル)メソッド

日付や時刻を表示するメソッド。チャットの作成日時を日本語で表示したいときなどに使用する。

config/application.rbに追記

あとは表示したい部分にlメソッドを使用すれば日本語時刻表示の完成です。
ちなみに「月/日 時間:分」のみの表示にしたいときはformatオプションの:shortを指定し,
ymlファイルに記述を足します。

<%= l message.created_at %>
<%= l message.created_at, format: :short %>

short:"%m/%d %H:%M"  ⇦ymlファイルに追記

dependentオプション

指定すると1(親モデル)対多(子モデル)の関係において、親モデルを削除したときに紐付いている子モデルも一緒に削除されるようになる。

class Room < ApplicationRecord
  has_many :room_users, dependent: :destroy
  has_many :users, through: :room_users
  has_many :messages, dependent: :destroy
end

上記ではチャットルームを削除すると合わせて部屋とユーザーの中間テーブルとルームのコメントが削除される。
1つのコメントのみを削除する機能とは別。オリアプにはそちらを搭載すると思う。

コメント

タイトルとURLをコピーしました