2022-01-01から1年間の記事一覧

nilはクラスであり、メソッドの使用ができる

sum関数でエラーがでた 下記のメソッドを使いたいとします。 def calc_score [@first_shot.point, @second_shot.point, @third_shot.point].sum end インスタンスはこうやって作られます。 def initialize(first_shot, second_shot = nil, third_shot = nil)…

テストでタイムゾーンを考慮した

テストのプラクティスにて Date型への変換メソッドのテストを行いました。 テストの観点 対象のメソッドは下記です。app/models/report.rb class Report < ApplicationRecord belongs_to :user has_many :comments, as: :commentable, dependent: :destroy v…

destoroyとnullfityについて(ポリモーフィックあり)

はじめに railsguides.jp 4.2.2.4 :dependent オブジェクトのオーナーがdestroyされたときの、それに関連付けられたオブジェクトの扱いを制御します。 ユーザーと日報とコメントと・・・ Aというユーザー(User)がいます。 日報(Report)は、N個書けます。…

ユーザーの情報をログインユーザーにする書き方

状況: ログインしているユーザーにて、日報(report)を作成しようとするとき。 日報を新規作成時のControllerの記述について、書き方のメモ。 User と Report は1 : Nの関係性。コード: app/controllers/reports_controller.rb ①これと、 def create @repor…

NULL禁止制約を後付けする際の注意点

データメンテについて すでにあるカラムをNULL禁止にしようとする際の注意点を教えて頂いたので、以下にまとめます。 参考コード1 まず最初に記述したコード class ChangeColumnToAllowNull < ActiveRecord::Migration[6.1] def up change_column :comments…

NULL禁止制約を後付けする際の注意点

データメンテについて すでにあるカラムをNULL禁止にしようとする際の注意点を教えて頂いたので、以下にまとめます。 参考コード1 まず最初に記述したコード class ChangeColumnToAllowNull < ActiveRecord::Migration[6.1] def up change_column :comments…