Rails

sendと_send_

sendと_send_ sendメソッドとは レシーバーが持っているメソッドを、文字列(またはシンボル)で指定して呼び出すことができる。 Object#send (Ruby 3.1 リファレンスマニュアル) class Foo def bar? true end def send(*args) false end end foo = Foo.new …

クエリのキャッシュ制御

クエリのキャッシュ制御 一度実行したクエリはキャッシュとして保存されている。 # データベースからbooksを取得する author.books.load # booksのキャッシュコピ-に対してsizeメソッドを実行する author.books.size キャッシュを破棄して新しいキャッシュを…

【Rails】不要なマイグレーションファイルの削除

不要なマイグレーションファイルの削除 $ rails db:migrate:status #不要なマイグレーションファイルの日付を確認 database: hoge_development Status Migration ID Migration Name -------------------------------------------------- up 20220712031711 C…

ActiveModel::Attributes POROの属性をネイティブ型のまま保存するAPI

UI層から送られてきたparamsを、期待する属性のままデータベースに保存させるためのAPI POROなクラスでparamsを処理する時、通常だとデータがstringとして保存されてしまう。 例えば、勤務時間のレポートを作るクラスがあるとする。 ユーザーがフォームに出…

「Clean Architecture 達人に学ぶソフトウェアの構造と設計」所感

フランスから帰国しました。「彼女がお盆で家族に会うために帰省するのに同行した」ような感じでした。フランスにお盆という習慣は無いのですが、まあそんな感じです。 父、母、姉家族✖️2、彼女、僕という異様な光景で、さながらサマーウォーズのフランス版…

【Rails】コントローラーの浅いネスト

浅いネスト ネストしたリソースを書くときにshallowをtrueにするとshow/edit/update/destroyのような、idを必要とするアクションを省略して表現することができる。 resources :articles do resources :comments, shallow:true end POST /articles/:article_i…

rubyで使うコンポーネント化に役立つgem 1選

今回はrubyのtrailbrazerというgemについて調べるうちに学んだことに関する記事です。 世の中いろいろな依存が存在しますよね。 恋愛依存、薬物依存、糖質依存 バランスを意識したい、極力依存しすぎることは避けたいです。 というのも、業務をしていると、…

【React✖︎Rails】ReactとRailsでマイクロサービスアーキテクチャを実装

英語喋れるようになってきたからスペイン語を学ぶ的なノリでReactを学習しようとしている23期中野昴です。 やっぱり、「Reactできます。」と言いたい。Vueの学習で、フロントとバックエンドを使い分けてSPAにする方法はざっくりと理解する事ができたので、こ…

【Ruby】Procオブジェクト

「javascriptはRubyでいうところのProcのような書き方が多いんだよね〜」と村田講師から教えていただいたが、そもそもProcがわからないので今回はrubyのProcオブジェクトを学習していきます。 前提知識 ブロック yield Procとは 何ができる? まとめ 一言 前…

【初心者向け】RailsAPIモードでCRUD処理を実装する方法

徒歩3分圏内にQBハウスがあることによって散歩ついでに散髪に行くことが可能になった23期スキンフェード昴です。 さて、今回はモダンなアプリ開発に欠かせない、rails apiモードに関して学習していきたいと思います。ちょっと長いです。 上から順に見ていく…

【初心者むけ】slim記法

最近脚がものすごく強くなっていること23期インナーサイ79kg挙がるです。 現場ではslimが使われているからslimを使おうと現場railsに書いてあったことを思い出したので、今回はslim記法に関して学習していきたいと思います。 slimとは rubyの記法の一つ。他…

YouTube Data APIを✅

30日のブシトラさん宅パーティでは「モテスパイラルの体系的な知識」が学べそうで楽しみな23期アルコリズム改良中です。 宣伝 APIとは Youtube Data APIとは Rails(バックエンド)⇨Youtube Data API ⇨Rails(コントローラー)⇨Viewのscript(フロントエンド)⇨Vie…

【Rails】webpackerの構成を✅

クリスマスイブだからいいよね、年末だからいいよね、が積み重なってデブにならないか危惧している23期中野昴こと「クリスマスプレゼントをまだ買えていない」です。 今回は、jsがデバイスごとに挙動が違うというissuehttps://github.com/subaru-hello/Zerok…

【Rails】クエリーインターフェイスを✅

RUNTEQ卒業生が所属する会社のweb meetupを観覧して、つよつよはつよつよを引き寄せるんだなと感じ、一体どうやってそのつよつよの土俵に上がれば良いんだ嘆いている23期中野昴こと酒ケジュール作成中です。 さて、今回は、エビングハウス曲線やレミニセンス…

【RSpec】リクエストスペックを✅

「ストリートナンパを始めた」という話を聞いたけど、そもそもストリート以外でナンパってすることあるのか?と気になって夜も眠れない23期酒ケジュール作成中です。 今回はrspecのリクエストスペックについて学習していきます。 リクエストスペックとは GET…

Railsのinverse_ofオプションを✅

アルコリズム(アルコール✖︎アルゴリズム)が完成して喜んでいます。自己結合最高です。 完成後、コードのチェックをするためにrubocopを走らせてみたところ、Rails/InverseOfエラーが出てしましまいました。 ということで、今回は、Rails/InverseOfエラーを…

Active Record クエリインターフェイスの自己結合を✅

引き続きアルコリズム(アルコール✖︎アルゴリズム)作成に苦戦中です。 今回作成したいアルコリズムは、 「ユーザーの酒の強さに応じたお酒の順番を提供すること」 です。 特に、「応じたお酒の順番」を作成することに苦戦していて、順番を格納するテーブルを…

Base64のエンコードを✅

彼女の「この日遊ぼ〜」に「ごめんその日午前午後で練習が(陸上)あるから無理だ」と答えたら彼女に「もう会いたくない」と言われて破局の危機を迎えている23期スバルです。#何とか免れました さて、今回はBase64のエンコード/デコードを学習していきたいと思…

ActiveModelのscopeを✅

PF進捗会に参加して、酒ケジュール作成のヒントをもらった。スコープを活用して条件を決めておくことで、提供したいお酒のアルコール度数をグルーピングできるようで。 「お酒の強さがweakだったユーザーの場合はpercentageが0〜7のお酒、strongだったユーザ…

STI (単一テーブル継承)とポリモーフィズム関連を✅

絶賛ポートフォリオ悪戦苦闘中なわけで。 その中で、診断内容とお酒テーブルを結びつけたいと思っている。 そしてお酒テーブルから派生して同じカラムを持つ酒の種類テーブル?みたいなものを作りたい。 はいはい、中間テーブルにid持たせて多対多を作るやつ…

ライフサイクルフックって何。

vueインスタンスが生成されてとか知らんし。とりあえず動けばいいし。 と考えていた自分に鞭を打つ。ライフサイクルフックを軽くでも頭に入れておかないと痛い目にあうらしい。 Vue嫌い!無理!とイヤイヤ期に突入してしまった自分を鼓舞するために、今回は…

ActiveRecordに保存したデータをVueコンポーネントで表示させたい

ActiveModelにあるデータを.vueに呼び出すためにはどうすればいいんだ。 やり方があるみたいなので、学習していく。 Railsにあるデータをjsonに直す モデルをvueに表示させる 解説 v-for axios mounted 実際にとってきたデータ Railsにあるデータをjsonに直…

Form Objectって何。

PF進捗報告会お疲れ様でした〜映画の予告編共有、コンビニ飯レコメンド、乃木坂46の推しメンレコメンド、みなさん個性的だったな〜参考になるコードを散見したから自分のPF作成に参考にさせていくことにします〜 さて、今回はFormObjectについて取り扱ってい…

RailsアプリをTwitterでシェアする方法

こんにちは。スバルです。 今回はTwitterシェア機能に関して学習していきます。 診断系のアプリで欠かせないのはやっぱり結果をシェアする機能ですよね。 ユーザーに結果を共有して欲しいですし、大喜利みたいにつぶやいて欲しい。 どうやらTwitterや Facebo…