Lei's Notebook

INDEX、複合INDEX、UNIQUE制約とUNIQUE INDEXについて

INDEXとは 特定のカラムからデータを取得する際に、テーブルの中の特定のカラムのデータを複製し検索が行いやすいようにしたもの。 例えばユーザー名を検索する場合、データベースはデフォルトで表の1行目から最後まで探す、いわゆる全表スキャン(Full-table Scan)の方法。  もしユーザー名にindexをつけると、本の索引のように、アルファベット順などのアルゴリズムを使って途中から...

ルーティングのcollectionとmemberについて

collectionとmemberの使い分けについて、ID取得必要かどうかで判断するとの説明が多く見かけて、理解が曖昧だったけど、stackoverflowの回答を見て、ようやく納得した内容をメモする。 結論 違いはrouteにidが付くか付かないかと言うより、個別リソースに対してのアクションなのか、リソース全体に対してのアクションなのか、ということ。 特定のリソースに対してのアクション...

provide と content_for、Streaming(viewとlayoutの評価順)について

動的タイトルを出力するため、content_forを使うのがよく見かけるけど、Rails Tutorialの中に、provideメソッドを推奨しているそう。 Railsでの開発経験者であれば、この時点でcontent_forを検討すると思いますが、残念ながらAsset Pipelineと併用すると正常に動作しないことがあります。provideメソッドはcontent_forの代替です。...

パーシャルに渡す変数はなるべくローカル変数にした方が良い

form_with model: postとfrom_with model: @postの2種類記法で戸惑っていたので、パーシャルに渡す変数について、調べていた。 結論 インスタンス変数か、ローカル変数か、form_withの挙動に特に影響がなさそうだが、 パーシャルにはなるべくローカル変数を渡すのが良いことがわかった。 理由 インスタンス変数を使うと、コントローラとも結びついてしまい...