Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
はじめに 業務でRSpecでテストコードを書いています。 先日「あれ、通るはずのテストが通らない。。。(´・ω・`)」と思ったら「let!」の「!」を付け忘れていました。 備忘録として、letとlet!の違いをまとめておきます。 let letは、定義した定数が初めて使われたときに評価されます。 # composerが複数のsongを持つものとする Rspec.describe Sample do let(:composer) { create(:composer) } let(:composer_song) { create(:song, composer: composer, title: 'きらきら星') } it '〜〜' do expect(composer).to ~~ end end end
Welcome to Rails¶ ↑ What’s Rails?¶ ↑ Rails is a web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern. Understanding the MVC pattern is key to understanding Rails. MVC divides your application into three layers: Model, View, and Controller, each with a specific responsibility. Model layer¶ ↑ The Mod
この記事は、UUUM Advent Calendar 2018 9日目です。 UUUMシステムユニットに入社して6ヶ月、赤根谷です。 今回は弊社で使っているridgepoleというgemの紹介をしたいと思います。 (先月に弊社のはてなブログで公開した内容とほぼ一致してしまうのですが、読んだという方はあまり多くないと思うので再利用してしまいたいと思います。) ブログとの大きな差分だけを読みたい方は 「弊社ブログ記事に追記」の箇所だけお読みください。バグをコミットして修正したよ、という話です。 それ以外の方は上から順番にどうぞ。 はじめに 弊社ではRailsを利用したプロジェクトが多いです。そして一部でマイングレーションツールとしてridgepoleというrubyのライブラリ(gem)を使っております。弊社で開発しているわけではありませんが、今回はそのgemの紹介です。 環境 なお弊社ではru
Gemfileにruby-debug-ideとdebaseを追加 Gemfileにruby-debug-ideとdebaseを追加してインストールしておきます。 もし追加しなかった場合は、SDK構成からやり直す必要があります。 SDK構成 File → Project StructureからProject Structure 構成画面を開きます Ruby SDKを選択 New remoteを選択 docker-compose.ymlからサービスを選択します。 5.Project StructureのModules で先程追加した構成を選択します。 無い場合はRun/Debug Configuration を追加 追加した後は基本的には何も設定は変更しないで大丈夫です。docker-composeという設定項目が追加されている事が確認できます。 トラブルシューティング 画像のように、Exce
Windows上で、WSL2 + Docker Desktopにて、Railsをコンテナ実行しつつ、Windows上のRubymineにて、デバッグを行う(ブレークポイントで止める)ための設定をどうするかのメモ書きです。 暇になって、気が向いたらスクリーンショットなども追加します。 必要な事前設定 必要なgemを入れる 下記のgemが必要なので入れる。(:development,:testグループ) byebug debase ruby-debug-ide docker-compose.yml 例として、Rails起動コンテナの docker-compose.yml の設定中、portsの設定に以下を追加します。 Rubymine上のリモートデバッグの設定 Rubymine上にて、通常、右上にあるデバック部分にて、「実行構成の編集」をクリックします。 左上の「+」ボタンから「Ruby リモ
※ 2.7.0からキーワード引数を通常の引数から分離されました。**この記事はこの変更点について未反映です。**詳しくは2.7.0リリースノートを参考にしてください。 Rubyにおいて、メソッドへの引数がどのように渡され、どのように受け取っているのかをまとめた。動作確認はRuby 2.3.1で行っている。古いバージョンでは動作しない場合があるので注意して欲しい。それぞれの対応は下記を参考。 Hashリテラルのkey: value記法は1.9系から。 デフォルト式あり引数や可変長引数の後に通常の引数を設置できるのは1.9系から。 キーワード引数は2.0系から。ただし、2.0系ではデフォルト式の省略は不可。 キーワード引数のデフォルト式省略は2.1系から。 キーワード引数を通常の引数から分離は2.7系から。(現在、記事には未反映) メソッド呼び出しの構成 Rubyのメソッド呼び出しは4つの要素
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? TL; DR(最初に結論) bundle installをする場合は--path vendor/bundleを付けてプロジェクトごとにgemを管理しろ、という意見をよく見かける。 しかし、pathを指定しないと問題が起きる可能性があるのは、かなり特殊な条件下に限られる(100人いたら100人全員が遭遇するような問題ではない)。 よって、--path vendor/bundleのオプションは、付けたい人が付ければよいだけで、開発者全員に強制するようなルールではない、と筆者は考える。 はじめに bundle installコマンドを実行する
この記事では rbenv を用いて任意のバージョンの Ruby 環境を構築する方法を紹介します。 rbenv とは? rbenv とはバージョンの異なるrubyをまとめて管理するツールのことです。 rbenvを利用することで異なるバージョンのrubyを一元管理することができ、 さらに任意のバージョンにいつでも切り替えられるようになるため 任意のバージョンで Ruby を使うことができます。 例えば自己学習を進めているときに、例えばある教材では ruby 2.5.2 を使うといっているのに 別な教材では ruby 2.7.0 を使うように指示が出ていると、バージョン間の差異によりエラーが発生して詰まることがあります。 rbenv を使うことで、いつでも好きなバージョンを使うことが出来るので 少なくともバージョン間の差異によるエラーは抑制することができます。 rbenv のセットアップ それで
タイトルは釣りです。 主語が大きすぎてちょっとドキドキしてます。では、タイトル通りの話をしていきます。 2022/09/05 追記 私は 2022/09 時点で Visual Studio Code の devcontainer に環境を移行しました devcontainer 環境で開発をすることで「環境が汚れる」という点においてはとてもクリーンになりました とはいえ、この記事に記載していることは開発環境に限らず通用することもあると思いますので恥ずかしいですが、残しておきます 今見返すと歴も書いてたりして、赤面モノですが、2022 現在でもチョコチョコと「いいね」や「ストック」をしていただけてるようで補足を入れたくなったので追記しました 結論 結論から言うと、 Ruby の環境が 汚れる からです gem install xxx コマンドは基本的に Ruby の環境にインストールされること
TL;DR config/environments/development.rb で - config.file_watcher = ActiveSupport::FileUpdateChecker にしろ 関連記事 ここの記事と内容はほぼ同じです 【Rails6】Dockerコンテナを再起動しないとソースコードが反映されない | Qiita https://qiita.com/Kiyo_Karl2/items/147d604e625b8a55e12e それでも反映されない時はこれを疑う dockerでrails5環境構築 | Qiita リロードされない問題 https://qiita.com/pocari/items/456052a291381895f8b3 Docker + Rails で開発していてソースコードが即時反映されない Docker を使わずに開発しているときはそんなこと
この投稿は、弊社が提供するWESEEK TECH通信の一環です。 WESEEK TECH通信とは、WESEEKのエンジニアがキャッチアップした技術に関する情報を、techブログを通じて定期的に発信していくものです。 関連記事 開発でのロックの重要性とORMのロック実現例〜楽観的ロックの利用例|フレームワーク O/R マッパー 開発でのロックの重要性とORMでのロックの実現例 |楽観的ロックの紹介 Ralisへ機能フラグ(Feature Flag)を追加し各フラグを制御する エラーの内容 Rails 6 で、任意の host 名を指定してアクセスをしようとしたとき、下記のようなエラーが表示されることがあります。 Blocked host: hogehoge-host.com To allow requests to hogehoge-host.com, add the following t
概要 たのしいRubyやってて===演算子の説明が全然載ってなかったのでちょっと調べてみる。 ===演算子とは とりあえず公式のリファレンスを覗いてみる。 特殊な等号演算子。Object#===での説明:「このメソッドは case 文での比較に用いられます。 デフォルトは Object#== と同じ働きをしますが、 この挙動はサブクラスで所属性のチェックを実現するため 適宜再定義されます」。たとえば、Range#=== はother が範囲内に含まれている時に真を返します。 Rubyで使われる記号の意味(正規表現の複雑な記号は除く) んー、なんとなくは伝わったけど… ===演算子(メソッド)は、右辺のオブジェクトobjが左辺modクラスのインスタンスであればtrue、そうでなければfalseを返します。 Rubyリファレンス わかりやすく説明してくれているサイトを発見。 他には 左辺が単独
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く