Ruby
問題のテーブル設計
· ☕ 1 分で読めます
問題/回答のテーブル設計 question number (integer) thesis (text) commentary (text) is_correct (boolean) answer question_id user_id answer_status (enum correct, incorrect, uncertain) answer_correct (boolean) regular_practice_exercise_template title (string) timelimit_seconds (integer) question_count (integer) # 1 演習あたりの問題数 first_started_at (datetime) first_finished_at (datetime) cycle_count (integer) cycle_type (enum daily, weekly, monthly) # 演習周期(n 日/週
【Ruby】Enumeratorユースケース / 遅延評価で配列を取得する
【Rails】find, updateを備えたフォームオブジェクト
【RSpec】たまに使うちょっとトリッキーなマッチャ
· ☕ 1 分で読めます
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 # subjectがArrayクラスであることを検証する it { is_expected.to be_kind_of Array } # 全要素がH
【Rails】date_field, datetime_field, time_fieldの初期値の形式
【Rails】ago, sinceとmonthを組み合わせるときの月末の仕様
· ☕ 2 分で読めます
まずはこれを見てほしい。 1 2 3 4 5 [1] pry(main)> Time.parse('2021-8-30').since(1.month) => 2021-09-30 00:00:00 +0900 [2] pry(main)> Time.parse('2021-8-31').since(1.month) => 2021-09-30 00:00:00 +0900 それぞれ、「8月30日の1ヶ月後」「8月31日の1ヶ月後」という意味だ。しかし
【Rails】自前で匿名認証を実装する
【Rails】Zeitwerkの名前空間の競合を無視する
· ☕ 2 分で読めます
環境 Ruby 3.0.2 Rails 6.1.4 エラー文 gem 'config'でbundle installをして、意気揚々とrails g config:installしたところ、以下
【Rails】ルーティングのカスタムparamとform_withの自動生成URLを両立する
· ☕ 2 分で読めます
環境 Ruby 3.0.2 Rails 6.1.4 前提 ルーティングでURLの動的な値に好きなカラム(今回はuuid)を指定する。 これによって、/articles/1などの単純な連
【Ruby】HanamiでHello World→Herokuデプロイ
· ☕ 2 分で読めます
環境 Ruby 2.7.4 Hanami 1.3.4 MySQL 8.0.23 Heroku CLI 7.56.1 ローカル環境構築 まず、HanamiはRuby3では使えないらしい。 Cannot create new hanami application · Issue #1108 · hanami/hanami Boot Error Something went wrong while loading /Users/k_end/personal/groovy_grouping/config.ru Hanami::Model::Error: PG::ConnectionBad: could not connect to server: Connection
【Rails × Turbo】renderを出力するJS scriptをViewに書く
【Rails】APIのルーティングのresourcesとmodule(具体例)
· ☕ 1 分で読めます
Hashlogのエンドポイントを作るときにルーティング迷子になったので、単純に自分がやったものをまとめておく。 アソシエーション User -< Tags -< Tweets のよ
【Rails】fields_forで外部アカウント登録フォーム
· ☕ 5 分で読めます
環境 Rails 6.1.3.2 Tailwind 2.2.4 実装するもの こんな感じのフォームです。 アイデアはQiitaから拝借しました。 アソシエーションと各カラムの値 アソシエーション User -< SocialAccount
【Rails】ネストされたattributes_paramsをフォームからコントローラに渡す
· ☕ 5 分で読めます
はじめに フォームからネストされた値を渡し、ストロングパラメータとして取得するだけのサンプルコードです。 バージョン Ruby3.0.0 Rails 6.1.3 アソシエーション Product -< Medium
【Rails】database.ymlって何?
【Rails】複数レコードを一括操作するルーティング
· ☕ 1 分で読めます
post has_many commentsのアソシエーション。 postに紐づくcommentを全て削除するとき、理想ならこんな感じのエンドポイントにしたい↓ DELETE /posts/:post_id/comments が
【Rails】index_byとgroup_byを用いて取り回しのきくハッシュを作成する
· ☕ 3 分で読めます
要件の例 Question -< Answer >- User question has_many answers user has_many answers 問題があらかじめ用意されていて、ユーザーはそれぞれ問題に解答する(1問につき1解答)。 このとき、以下のようなペ