class User < ApplicationRecord before_save { self.email.downcase! } validates :name, presence: true, length: { maximum: 50 } validates :email, presence: true, length: { maximum: 255 }, format: { with: /\A[\w+\-.]+@[a-z\d\-.]+.[a-z]+\z/i }, uniqueness: { case_sensitive: false } has_secure_password has_many :microposts has_many :favorites, dependent: :destroy has_many :fav_microposts, through: :favorites, source: :micropost def like(micropost) self.favorits.find_or_create_by(micropost_id: micropost.id) end
class Micropost < ApplicationRecord belongs_to :user has_many :favorites has_many :users, through: :favorites, source: :user validates :content, presence: true, length: { maximum: 255 } end
userControllerないのlikeメソッドの仕組みがよく理解できていないのですが、
「user.follow(other) を実行したとき user が代入され、そのuserのに結びついている、favoritesモデルの中に(ここからがよく分かりません)micropost_idがicropost.idがあればそのインスタンスを持ってきて、なければ作成する}
という理解でよろしいでしょうか
自身が書いたコードではないのでしょうか。出典や参考先を明示してください
回答1件
あなたの回答
tips
プレビュー