ものづくりのブログ

うちのネコを題材にしたものづくりができたらいいなと思っていろいろ奮闘してます。

Ruby on rails

ruby で google スプレッドシートの URI からキー情報を取得する処理を考えてみる

ruby で uri ライブラリを使った処理を書いてみたので、ここにメモします。 コード uri ライブラリの使い方 uri とは uri ライブラリを使うには URI オブジェクト regex 関連 コード google スプレッドシートの URI を入力として、キー情報を取得する処理を…

【Ruby】Google スプレッドシートを操作

Ruby で Google スプレッドシートを操作する方法をまとめてみました。 事前準備 手順 google-drive-ruby インストール 認証 操作 新規スプレッドシート作成 新規ワークシート作成 ワークシート書き込み ワークシート情報取得 事前準備 Google API Console(AP…

Ruby on Rails マイグレーションスクリプトでカラムの追加

Rails でカラムの追加を行いたい場合について、ここにメモを残します。 参考 qiita.com 設定 クラス名は AddXXXToYYY とするといいようです。 rails generate migration クラス名 カラム名:データ型( カラム名:データ型)

Ruby on rails ドキュメント自動生成(YARD)を使ってみる

yard はクラス定義やメソッド定義箇所に、YARDの記法に従いコメントをつけることで、ドキュメントを生成することができるツールです。github.com 使い方 yard インストール $ gem install yard yard バージョン確認 $ yardoc --version ヘルプ $ yardoc --he…

Ruby で文字列の中に変数を展開

Ruby でダブルクオーテーションで囲まれた文字列に変数を展開する方法をここにメモします。 あまり Ruby を使わないので忘れてました。 コード 動作確認 コード #{変数} でいけるようです。 hoge = "test" print("これは #{hoge} です") 動作確認 irb で動作…

【ruby】後置 while について調べてみました

先日対応してコードに 後置 while が使われていたので、挙動が把握できず調べてみたのでここにメモします。 コード 実行 気がついたこと コード def sample i = 0 begin foo = 10 puts ("sample:#{i}") i += 1 end while i < foo end 実行 irb(main):054:0> …

【rails / crystal】 例外処理の書き方(ZeroDivisionError)

プログラム内である数を0で割る処理をしてしまった場合は、ZeroDivisionError という例外が発生して次の処理に移ることができなくなります。その場合、例外処理を入れてみます。 begin hoge = 10 / 0 rescue p "0で割れません" end ただこれだと、好みにもよ…

rails で mimemagic がどうのこうのと... 困る

docker で開発されたツールをセットアップしていたら以下のメッセージが出て bundle install が失敗してしまい困りました。 その時のメモを残しておこうと思います。 問題のメッセージ 環境 参考にしたサイト 結論 問題のメッセージ => ERROR [8/8] RUN bund…

「Your Ruby version is 2.5.9, but your Gemfile specified 2.5.8」というエラーの対応を考える

ruby 関連でエラーが出たので対応方法をここにメモします。 エラー内容 対応したこと rubyのバージョン確認 rbenv確認 bundlerの場所確認 bundlerインストール エラー内容 「bundle install」を実行したら以下のエラーが出ました。 Your Ruby version is 2.5…

docker-compose build で "You must use Bundler 2 or greater with this lockfile." とエラーが出てたので対応を考える

docker で環境構築中に以下のようなエラーが出たので対応方法をまとめておく。 You must use Bundler 2 or greater with this lockfile. ERROR: Service 'app' failed to build: The command '/bin/sh -c bundle install --jobs=4' returned a non-zero code…

Amazon SES 署名バージョン4対応「Ruby on Rails」

「Ruby on Rails」で開発していたアプリのメール送信処理で以下のようなエラーが出てしまいました。 AWS::SES::ResponseError (InvalidClientTokenId - Signature Version 3 requests are deprecated from March 1, 2021. From that date on, we are progres…

「rails devise」の認証処理にハマる

「rails devise」の認証処理でログインボタンをクリックすると「Completed 401 Unauthorized」となりログインページにリダイレクトされるという問題があってハマったので、その対応をここにメモします。 rails devise とは 問題 気になる部分その1 気になる…

Rails でカラムの情報を確認するにはどこをみればよいかのメモ

Rails でテーブル情報をみたいとき、どこで見れば確認できるかメモを残します。「db/schema.rb」にありました。 schema.rbについて schema.rbは現DBの構造を元に作成され、その後 migration ファイルが実行された際に変更点があれば、schema.rbが更新される…

【Ruby on Rails】kaminari でページネーションを実装してみる

「kaminari」とは、ruby の gemの一つでページネーションを実装するものです。今回は以下の赤枠のようなページネーションを実装するイメージです。 gem でインストール kaminariの設定ファイル生成 ページネーション定義 gem でインストール 「Gemfile」の一…

Rails アプリで [docker-compose build] を実行したらエラーになった時の対処法をメモる

原因 解決策 Rails アプリで開発中に "docker-compose build" を実行したら以下のエラーが出てきました。 $ docker-compose build db uses an image, skipping jenkins uses an image, skipping Building web Step 1/9 : FROM ruby:2.5.3 ---> 72aaaee1eea4 …