Ruby on Rails
おはようございます。ずみーです。 Rubyでメソッドの呼び出しはインスタンス名.メソッド名ですが、インスタンス名や.メソッド名の部分をパラメータにして動的に呼び出したいことってありますよね。 結論:sendメソッドで実現可能 使い方はこんな感じです。 #…
やりたいことは2つ 削除アクションは本人のみ可能としたい 削除する前に一回ブラウザのアラートで最終確認させたい
ごく短いメモです。 Rubyには:delimitedや:currencyという便利なメソッド(というかto_sのオプション?)があり、特に引数を指定しなくても金額表示の時のカンマ区切りをよしなにやってくれます。 1000.to_s(:delimited) # => 1,000 Railsのビューではさらに…
Railsで単体テスト書いてます。 例えばpresence: trueみたいな、たくさんのカラムに適用されているバリデーションって、一つ一つ書くのがめんどくさいですよね。 全カラムを配列で取得し、each文で回して、presence: trueバリデーションを一括でテストしてみ…
同じ処理を繰り返している箇所 →サポートモジュールを使って一つのメソッドにまとめる ex)ログイン動作 ←何度もやってる サポートモジュールの作成 spec/support/sign_in_support.rb module SignInSupport def sign_in(user) visit new_user_session_path fi…
単体テストの時 単体テスト時はrack-testというGemを使うことで、添付される側のレコードに対してファイル添付できます。 FactoryBotと一緒に使用した例 FactoryBot.define do factory :item do association :user name { Faker::Lorem.word } #省略 image {…
Ruby on Railsでは、app/assets/javascripts配下のJSファイルは自動で読み込まれるのですが、一部のページでしか使わないようなファイルを全ページで毎回読み込むのはなんか気持ち悪いですよね。 こちらの記事を参考に、javascript_include_tagメソッドを使…
やりたいこと メルカリみたいなアプリを作っています。 例えば、「手数料10%」の10%のように、アプリケーション内で共通で使いたい定数をあちこち別個に書くのってよろしくないですよね。できれば1個にまとめたい。 定数定義用のファイル作成 config/initia…
チャットアプリでもECサイトでも、画像や動画が添付できるのは当たり前ですよね。そんなわけで、Active StorageというGemを使ってRailsアプリにファイルアップロード機能を追加する方法を学びました。 画像加工ツールたち 名称 区分 目的 Active Storage Gem…
どうも、ずみーです。 Ruby on Railsで会員登録/ログイン機能付きのアプリを作っています。パスワードにアルファベットと数字が混在していないと登録できないような制限を付けたくなりました。 正規表現の基礎的な部分を復習しつつ、実装していきたいと思い…
ブログ投稿サービスで、記事投稿時にジャンル選択ができるような機能を実装しながら、Active Hashについて学びました。 Active Hashのきほん 都道府県や記事カテゴリなど、追加・変更が頻繁に生じないようなデータは、DBにテーブルを作るのではなく、Active …
みなさま、おはようございます。ずみーです。 RSpecでテストデータの自動作成を行ってくれる、FactoryBot)とFakerの導入と使い方についての備忘録です。 ちなみに、Wikiにはこうありました。 Factory Bot(元々はFactory Girlとして知られていました)は、Ru…
マッチャとは こちらの記事によれば、 期待値と実際の値を比較して、一致した(もしくは一致しなかった)という結果を返すオブジェクト だそうです。 RSpecのテストコードで使います。 例えばこんな場合 あるページに飛んで、飛んだ先にあるはずの文言やリン…
どうも、ずみーです。 突然ですがみなさん、Railsの勉強をしていて、不思議に思うことはありませんか。 お前、なぜそれを知っている?!と。 実はこのRails、こっちが指示していないことも裏でたくさんやっといてくれる、 小粋な心遣いがいっぱいなのでした…