Ruby関連のことを調べてみた2022年07月24日

Ruby関連のことを調べてみた2022年07月24日

Cloud9でRubyの開発環境構築を行う

## 前提
– AWSアカウントを作成済みであること
– IAMユーザを作成済みであること

### はじめに
– 7月に転職しwebエンジニアとしてRuby on Rails環境のシステム開発を行なっています
– 今までRubyはUdemyによる自己学習レベルでしか触れたことがなかったため、基礎中の基礎から勉強始めています
– 今回はその環境構築を行なった際の備忘記事です
– 当記事はqiita登録して5分後に書き始めたものなので、ご指摘あればぜひよろしくお願いします

## Cloud9の準備
– AWSの上部検索バーに「cloud9」を入力して「Cloud9」サービスを選択

– 「Create environment」を押下
– この時、リージョンは「アジアパシフィック(東京)」にしています

元記事を表示

超簡単 Rails タイトルを動的にする

# 使用環境
– Rails 6~
– Ruby 3.1.0
– M1 Mac
# Rails タイトルを動的にする方法
自分も初学者ですが、誰でもできるよう、分かりやすく書いていきます。

# app/helper/appliction_helper.rb
以下のコードをコピー&ペーストして下さい。
コードに関しては、、、調べて下さい?
僕はおまじないだと言い聞かせてます?

“`
module ApplicationHelper
BASE_TITLE = “KAKEIBO”.freeze #ここで変えたいタイトルにしてる
↑ここを変えたいタイトルにしてあげる

def full_title(page_title)
page_title.blank? ? BASE_TITLE : “#{page_title} – #{BASE_TITLE}”
end
end
“`

# app/views/layouts/appliction.html.erb
タイトルタグを以下のコードに変えてください。
“`
#変更前
te</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>Ruby</div> <div class='tag-cloud-link'>Rails</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/djedmphi/items/456d4883282643cc4886'>元記事を表示</a></div> <h3 id="outline__3"><a href='https://qiita.com/woodman0224/items/a1a13612af2f540785d8'>Rails7でfont-awesomeを表示させる方法</a></h3> <blockquote><p>### はじめに</p> <p>今回の解決策は憶測の結果なので、こういった事例もあったのか程度に見ていただければと思います。</p> <p>### 解決したい問題</p> <p>ポートフォリオ用のアプリケーションをRailsで作ってる際起きました。</p> <p>詳しくはこちらをご覧ください<br /> https://qiita.com/woodman0224/questions/96013b924619b77e1cd8</p> <p>qiita内でも色々な記事を見て解決策を探していたのですが<br /> 中々見つからず途方に暮れる事早一日。<br /> いっそのことエラー箇所をコメントアウトしようと思い、<br /> してみたところなんと!表示されました!!!泣</p> <p>### やってみたこと<br />   <br /> application.scssが現状このような状態です!<br /> “`scss<br /> //@import “font-awesome-sprockets”;<br /> @import “font-awesome”;<br /> “`<br />   <br /> となるとおかしいなと思ったので確かめてみたら<br /> “`scss<br /> // @import “bootstrap-sprockets”;<br /> @import “bootstrap”;<br /> “`<br />    </p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>Ruby</div> <div class='tag-cloud-link'>Rails</div> <div class='tag-cloud-link'>初心者</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/woodman0224/items/a1a13612af2f540785d8'>元記事を表示</a></div> <h3 id="outline__4"><a href='https://qiita.com/kyntk/items/e2ec0e191cd928e32663'>GraphQL Rubyのvisible?, authorized?について</a></h3> <blockquote><p>GraphQLでは、MutationやQueryのそれぞれのobject, field単位などで、認可を行います。<br /> これにより、どのようなクエリが発行されても、ユーザーが参照する権限を持っているかを各field, objectなどの単位で確認して、結果を返すことができます。</p> <p>contextでユーザーの情報を持ち、認可を行います。</p> <p>## ビジネスロジックレイヤーでの認可設定</p> <p>この記事では、GraphQL RubyのVisibility、Authorizationについて説明しますが、そのようなGraphQLレイヤーでの認可の前に、ビジネスロジックレイヤーでの認可を検討すべきと言われています。</p> <p>https://graphql.org/learn/thinking-in-graphs/#business-logic-layer</p> <p>例えば、Modelにロジックを書くことで、すべてのfieldに同じ処理を書く必要がなくなります。</p> <p>https://graphql-ruby.org/authorization/overview.html#authorization-in-your-busi</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>Ruby</div> <div class='tag-cloud-link'>GraphQL</div> <div class='tag-cloud-link'>graphql-ruby</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/kyntk/items/e2ec0e191cd928e32663'>元記事を表示</a></div> <h3 id="outline__5"><a href='https://qiita.com/li2003038/items/b4421728d5e1fa0b066e'>RailsのTransactionについてのメモ</a></h3> <blockquote><p>## ActiveRecord::Base.transaction<br /> 複数のSQLが発行されるときに、すべてのアクションが終わったときにDBを更新する。</p> <p>## 具体的には<br /> 以下のようなブロック内に処理を書いていく。</p> <p>“`ruby<br /> ActiveRecord::Base.transaction do<br /> # 処理<br /> end<br /> “`<br /> 例えばインスタンスメソッド内で<br /> “`ruby<br /> ActiveRecord::Base.transaction do<br /> users.each do |user|<br /> user.update!<br /> end<br /> self.save!<br /> end<br /> “`<br /> これですべての処理の保存と更新を一括で行うことができる。 </p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>Ruby</div> <div class='tag-cloud-link'>Rails</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/li2003038/items/b4421728d5e1fa0b066e'>元記事を表示</a></div> <h3 id="outline__6"><a href='https://qiita.com/yu-ki87/items/9b630332b2706c42259c'>if,else問題(演算子) police_trouble</a></h3> <blockquote><p># 問題</p> <p>以下の要件を満たす police_troubleメソッドを実装しましょう。</p> <p>あなたは警官です。aとb二人の容疑者の取り調べをしています。このとき、次のルールで証言の真偽判定を行います。<br /> ※問題文で登場したaとb二人の容疑者は、今回実装するpolice_troubleメソッドの引数として取り扱っていきます。</p> <p>第一引数aと第二引数bどちらの証言も真(true)であれば、Trueを出力すること<br /> 第一引数aと第二引数bどちらの証言も偽(false)であれば、Trueを出力すること<br /> 第一引数aと第二引数bで証言の真偽が一致しない場合であれば、Falseを出力すること</p> <p># 雛形<br /> “`rb<br /> def police_trouble(a, b)<br /> # ここに条件式を記述する<br /> end</p> <p># 呼び出し例<br /> police_trouble(true, true)<br /> police_trouble(false, false)<br /> police_trouble(true, false)<br /> “`</p> <p>出力例<br /> “`<br /> police_trouble(true, true) → True<br /> police_trou</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>Ruby</div> <div class='tag-cloud-link'>#初学者</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/yu-ki87/items/9b630332b2706c42259c'>元記事を表示</a></div> <h3 id="outline__7"><a href='https://qiita.com/AGO523/items/b27d7bc6e072ba562c5b'>【Rails】【Ruby】decoratorでHTMLのタグを作る【初心者】</a></h3> <blockquote><p>## はじめに<br /> 未経験からエンジニアに転職して、4ヶ月ほど経つエンジニアです。<br /> ![アイコンバー.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/916052/61a0d3ee-6ff7-f4ca-bb00-622c3c99cfa5.jpeg)</p> <p>今回は decorator で HTMのタグを作る方法を手短に紹介します。<br /> rails の gem ‘draper’ を使用しています。</p> <p>~~~ruby<br /> def user_status_tag<br /> h.tag.span class: “[text-weight-bold”] do<br /> # 描画したい文字や変数、メソッドなど<br /> end<br /> end<br /> ~~~</p> <p>↓に使いたいHTMLのタグを続ければOKです。↑ではspanを使っています。<br /> ~~~ruby<br /> h.tag.HTMLのタグ名<br /> ~~~</p> <p>↓のようにスタイルを当てることもできます。<br /> ~~~ruby<br /> class: “[text-weight-bold”]<br /> ~~~</p> <p>## 最後に<br /> 今回は decorator </p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>Ruby</div> <div class='tag-cloud-link'>Rails</div> <div class='tag-cloud-link'>初心者</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/AGO523/items/b27d7bc6e072ba562c5b'>元記事を表示</a></div> <h3 id="outline__8"><a href='https://qiita.com/tomo089/items/dbb65dae04a8e3d16d1b'>HTMLの基礎知識(YoutudeのURL 投稿と反映)</a></h3> <blockquote><p>みなさん今日もプログラミングの学習お疲れ様です!!</p> <p>今回はYoutudeの動画を投稿し、それを詳細ページに反映する機能を実装していきます!!:sunny:</p> <dt>Step1:モデルを作成</dt> <p>“`ruby:ターミナル<br /> rails generate migration AddYoutubeUrlToTweets youtube_url:string<br /> “`</p> <p>“`ruby:ターミナル<br /> rails db:migrate<br /> “`</p> <dt>Step2:コントローラーの追加</dt> <p>“`ruby:tweets_controller.rb<br /> private<br /> def register_params<br /> params.require(:register).permit(:youtube_url)<br /> end<br /> “`</p> <dt>Step3:newにyoutude_urlのデータを追加</dt> <p>“`ruby:tweets_new/html.erb<br /> <%= @tweet.label :youtube_url %><br /> <%= @tweet.t</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>Ruby</div> <div class='tag-cloud-link'>HTML</div> <div class='tag-cloud-link'>Rails</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/tomo089/items/dbb65dae04a8e3d16d1b'>元記事を表示</a></div> <h3 id="outline__9"><a href='https://qiita.com/Utsubo/items/ffd965fb72693fc82c3e'>基本的なRailsの文法</a></h3> <blockquote><p>## はじめに</p> <p>ドットインストールにてRailsを勉強しているのですが、知識を記憶に定着させるため、学んだこと、調べたこと、自分で考えたことなどを書いていきます。<br /> 何かご指摘があれば教えていただければ幸いです!</p> <p>## 環境</p> <p>Ruby: 2.6.5p114<br /> Rails: 5.1.7<br /> 教材内のバージョンに合わせました。</p> <p>## ログファイルの場所</p> <p>“`ruby<br /> log/development.log<br /> “`</p> <p>## モデル作成</p> <p>“`:zsh<br /> rails g model Post title:string body:text<br /> “`</p> <p>Modelは個々のデータ構造を定義するので、Postのように単数形になる。</p> <p>上記を実行した後、いろいろなファイルが作成され、今作ったデータの構造をデータベースに反映させるには、下記を実行する。</p> <p>“`:zsh<br /> rails db:migrate<br /> “`</p> <p>## データベースを使う</p> <p>“`:zsh<br /> rails dbconsole # rails dbと省略できる<br /> .tables # 存在するテーブルを見る<br /> “`</p> <p>## 初期データの流し込み </p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>Ruby</div> <div class='tag-cloud-link'>Rails</div> <div class='tag-cloud-link'>初心者</div> <div class='tag-cloud-link'>文法</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/Utsubo/items/ffd965fb72693fc82c3e'>元記事を表示</a></div> <h3 id="outline__10"><a href='https://qiita.com/yu-ki87/items/50784f29a62dd0b80235'>Ruby インスタンスの生成</a></h3> <blockquote><p>クラスとインスタンスの問題を解いてみた。基礎の復習も兼ねて今日もアウトプット。</p> <p># 問題<br /> クラスFruitを定義して以下のように出力してください。</p> <p>“`<br /> 採れたて新鮮な果実です<br /> リンゴは120円です<br /> オレンジは200円です<br /> イチゴは60円です<br /> “`</p> <p>雛形<br /> “`<br /> class Fruit<br /> def クラスメソッド<br /> # 正しくメソッドを定義した上で、ここに処理を記入してください<br /> end</p> <p> def initialize<br /> # ここに処理を記入してください<br /> end</p> <p> def インスタンスメソッド<br /> # 正しくメソッドを定義した上で、ここに処理を記入してください<br /> end<br /> end</p> <p># 3つのインスタンスを生成してください</p> <p># クラスメソッドを呼び出し、「採れたて新鮮な果実です」と表示してください<br /> # インスタンス毎にインスタンスメソッドを呼び出し、「【名前】は【価格】円です」と表示してください<br /> “`</p> <p># 解答<br /> “`<br /> class Fruit<br /> def self.fresh<br /> puts “採れたて新鮮な果実です”<br /> end</p> <p> def ini</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>Ruby</div> <div class='tag-cloud-link'>#初学者</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/yu-ki87/items/50784f29a62dd0b80235'>元記事を表示</a></div> <h3 id="outline__11"><a href='https://qiita.com/HMMNRST/items/dbf61c4f4beb9ac5b557'>splat演算子と [*array] と {**hash}</a></h3> <blockquote><p>以下の書き方ってOKだっけ? そして結果は何? と思ったので調査。</p> <p>“`ruby<br /> array = [1, 2, 3]<br /> hash = { x: 4, y: 5, z: 6 }</p> <p>p( [ *array ] )<br /> p( [ *hash ] )<br /> p( [ **array ] )<br /> p( [ **hash ] )<br /> p( { *array } )<br /> p( { *hash } )<br /> p( { **array } )<br /> p( { **hash } )<br /> “`</p> <p>## 前置き:splat演算子<br /> Ruby ではメソッドの仮引数に、可変長引数 `*rest` や、キーワード引数の余り `**kwrest` を指定できる。これらは実引数の値をそれぞれ配列やハッシュの形に固めて受け取る。</p> <p>> https://docs.ruby-lang.org/ja/3.1/doc/spec=2fdef.html#method<br /> ><br /> > “`ruby<br /> > # すべて持つ(極端な例なのでおすすめしない)<br /> > def f(a, b, c, m = 1, n = 1, *rest, x, y, z, k: 1, **k</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>Ruby</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/HMMNRST/items/dbf61c4f4beb9ac5b557'>元記事を表示</a></div> <h3 id="outline__12"><a href='https://qiita.com/tomo089/items/dc52ef8d403d80ab237d'>HTMLの基礎知識(星評価の平均)</a></h3> <blockquote><p>今日もプログラミングしていますか?:sunny:</p> <p>今回は星機能の平均の出し方を実装していきたいと思います!!</p> <dt>*注意<br /> ここでは以下の詳細ページの実装が大前提となっております!!!</dt> <p>“https://qiita.com/tomo089/items/246230912c32aa5c7864”<br /> </p> <dt>Step1:コントローラーの追加</dt> <p>“`:tweets_controller.rb<br /> def show<br /> @register = Register.find(params[:id])</p> <p> @reviews = @register.reviews<br /> @review = Review.new<br />     #変更箇所<br /> @totals=@reviews.average(:eve)<br />     #ここまで </p> <p> end<br /> “`</p> <dt>Step2:Viewの追加</dt> <p>“`:tweets_show.html.erb.</p> <p>平均評価</p> <p> <span class="s</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>Ruby</div> <div class='tag-cloud-link'>HTML</div> <div class='tag-cloud-link'>CSS</div> <div class='tag-cloud-link'>Rails</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/tomo089/items/dc52ef8d403d80ab237d'>元記事を表示</a></div> <h3 id="outline__13"><a href='https://qiita.com/salsasource/items/7f7e62c3a295ea6d5d36'>退屈なことはRubyにやらせよう ~ファイル整理を自動化する~</a></h3> <blockquote><p># やりたいこと</p> <p>8桁の日付が含まれている大量のファイルを、日付ごとのディレクトリに分類したい。</p> <p>これを、、、<br /> <img decoding="async" width="400" alt="Screenshot.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2499119/aceb5e73-d940-5218-aecc-bab34a3f8301.png?test=1&y=n"></p> <p>こうしたい。<br /> <img decoding="async" width="400" alt="Screenshot 1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2499119/5fc90fc0-eae2-24d0-a165-2243c272673f.png?test=1&y=n"><br /> <img decoding="async" width="400" alt="Screenshot 2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2499119/54cdcab9-42</p></blockquote> </blockquote> <aside class=?test=1&y=n'widget widget-post'> <div class='tag-cloud-link'>Ruby</div> <div class='tag-cloud-link'>自動化</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/salsasource/items/7f7e62c3a295ea6d5d36'>元記事を表示</a></div> <h3 id="outline__14"><a href='https://qiita.com/earth660/items/aaa28da8a2115a6a614f'>【Ruby on Rails】ポケモンゲットだぜ!!</a></h3> <blockquote><p>::: note<br /> 本投稿はPoke API使ってポケモンを検索し、<br /> それをゲットだぜ!することで、DBに保存する、というアプリを作成していきます。</p> <p>尚、[Goorm](https://ide.goorm.io/)を使用します。<br /> 環境構築の仕方はこちらを参考にしてください。 ↓↓<br /> [Before Rails Tutorial1章 Goormでの環境構築](https://qiita.com/earth660/items/a51874eba618e2aa5ce6)<br /> :::</p> <p># PokeAPIについて<br /> [Poke API](https://pokeapi.co/)にはポケモン関連のデータが大量にあります。<br /> トップページでAPIを簡単に試せるようになっているので、ぜひ触ってみてください。<br /> なお、今回作るアプリケーションでは取得できるデータのほんの一部しか使いません。</p> <p># 実装の前に<br /> Goormでプロジェクトを構築していると、すでにプロジェクトフォルダが作成されていると思います。<br /> ![スクリーンショット 2022-07-22 16.08.29.png](https://qiita-ima</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>Ruby</div> <div class='tag-cloud-link'>Rails</div> <div class='tag-cloud-link'>講義資料</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/earth660/items/aaa28da8a2115a6a614f'>元記事を表示</a></div> <h3 id="outline__15"><a href='https://qiita.com/m6mmsf/items/53fcf9d34a80f0892f30'>【Ruby on Rails】Slimでコメントアウトする方法</a></h3> <blockquote><p>## Slimでコメントアウトする方法<br /> “`<br /> /<br /> .card-body<br /> h5 ゴリラ<br /> “`<br /> このように“/“を記述すると、“/“より下のコードについてはコメントアウトされ、画面で確認をすると非表示となる。 </p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>Ruby</div> <div class='tag-cloud-link'>Rails</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/m6mmsf/items/53fcf9d34a80f0892f30'>元記事を表示</a></div> <h3 id="outline__16"><a href='https://qiita.com/woodman0224/items/f5aca23ac7b5b0b6edc1'>Ruby on rails メモ①</a></h3> <blockquote><p>### はじめに</p> <p>記事を書くのは今回が初めての投稿です。<br /> 私は今エンジニア転職を目指して独学中なのですが、<br /> 色々な文献を見ているとアウトプットとしてQiitaなどに投稿すると知識の定着が図れるとのことなので、<br /> 早速やってみます笑</p> <p>### 直面した問題</p> <p>現時点でprogateとRaisチュートリアルで勉強してきましたがroutesファイルの表記が違うんです!</p> <p>例えばusersアクションのルーティングの記述について</p> <p>こちらがRailsチュートリアル↓<br /> “`<br /> Rails.application.routes.draw do</p> <p>resource :users</p> <p>end<br /> “`<br />   <br /> そしてこちらがprogate↓<br /> “`<br /> Rails.application.routes.draw do</p> <p>post “users/create” => “users#create”<br /> get “signup” => “users#new”</p> <p>end<br /> “`</p> <p>えーーー!progateと違うじゃん!!!ってなりました笑<br />   <br /> というのもRESTfulなUsersリソースを作成するためにresourcesメ</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>Ruby</div> <div class='tag-cloud-link'>Rails</div> <div class='tag-cloud-link'>初心者</div> <div class='tag-cloud-link'>Railsチュートリアル</div> <div class='tag-cloud-link'>独学</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/woodman0224/items/f5aca23ac7b5b0b6edc1'>元記事を表示</a></div> <h3 id="outline__17"><a href='https://qiita.com/ynamiki_MeDiee/items/1c0ee8fe113c55534642'>bundle install 時の idn-ruby エラー</a></h3> <blockquote><p>## エラー内容<br /> 環境構築時の`bundle install` で `idn-ruby`に関するエラーに遭遇。</p> <p>“`<br /> Gem::Ext::BuildError: ERROR: Failed to build gem native extension.</p> <p> current directory: /Users/ynamiki/Desktop/sora/vendor/bundle/ruby/2.6.0/gems/idn-ruby-0.1.0/ext<br /> /Users/ynamiki/.rbenv/versions/2.6.6/bin/ruby -I /Users/ynamiki/.rbenv/versions/2.6.6/lib/ruby/site_ruby/2.6.0 -r ./siteconf20220722-10264-bfer1i.rb extconf.rb<br /> checking for -lidn… no<br /> ERROR: could not find idn library!</p> <p> Please install the GNU IDN library or alternati</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>Ruby</div> <div class='tag-cloud-link'>Rails</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/ynamiki_MeDiee/items/1c0ee8fe113c55534642'>元記事を表示</a></div> <h3 id="outline__18"><a href='https://qiita.com/tanutanu/items/123ba1858baa0e668662'>【Active Storage】ストレージ内にzipファイルを生成してDLする機能作成までにやったこと</a></h3> <blockquote><p>## このノートの内容<br /> – クラウドストレージ内のファイルをzipにまとめてDLしたかった<br /> – ファイル処理のメソッドの理解が曖昧だったので、基礎から調べながら行った</p> <p>## 使用Gem</p> <p>– [rubyzip](https://github.com/rubyzip/rubyzip)</p> <p>## 調べた内容</p> <p>### [File.join](https://docs.ruby-lang.org/ja/latest/method/File/s/join.html)<br /> 連結したいディレクトリ名やファイル名を文字列(もしくは文字列を要素に持つ配列)で与えます。<br /> “`ruby<br /> File.join(“a”,”b”) # => “a/b”<br /> “`</p> <p>### [File.open](https://style.potepan.com/articles/27876.html)</p> <p>Fileクラスから提供されているopenメソッドで、Rubyでファイルを開いたり・作成したりする際に呼び出す処理です。</p> <p>読み込みや書き込み時にもファイルを開く必要があるため、ファイ</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>Ruby</div> <div class='tag-cloud-link'>rubyzip</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/tanutanu/items/123ba1858baa0e668662'>元記事を表示</a></div> <h3 id="outline__19"><a href='https://qiita.com/kamimuu/items/96d43b28d2bfca82076a'>100日後くらいに個人開発するぞ!day061</a></h3> <blockquote><p> ## 今日はDateクラスを学んでみた!</p> <p>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2632394/f4865f3e-8561-bc35-d6b1-0c1ac300ca35.png)</p> <p>## 今日の学び</p> <p>### Dateクラスの読み込み<br /> * Dateクラスを用いると日付を扱うことができる<br /> * DateクラスはRubyが用意しているクラスなので`require`で読み込みことができる<br /> * 既に用意されているクラスを読み込む際は`require “クラス名”`<br /> * 注)`require /.クラス名`ではない</p> <p>### Dateクラスの使い方<br /> * Dateクラスは他のクラスと同様にDate.newとすることでインスタンスを生成できる<br /> * `インスタンス変数 = Date.new(年,月,日)`</p> <p>### 曜日を判定するDateクラスのインスタンスメソッド<br /> * 「日曜日かどうか」を真偽値で返す例<br /> * `requre “date”` </p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>Ruby</div> <div class='tag-cloud-link'>初心者</div> <div class='tag-cloud-link'>Progate</div> <div class='tag-cloud-link'>プログラミング初心者</div> <div class='tag-cloud-link'>プログラミング勉強日記</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/kamimuu/items/96d43b28d2bfca82076a'>元記事を表示</a></div> <h3 id="outline__20"><a href='https://qiita.com/chain792/items/4783d67e5ab02d569517'>【Rails】APIモードかつクロスオリジン間でCookieやSessionを使う方法【SPA】</a></h3> <blockquote><p># 環境<br /> – Ruby 3.1.2<br /> – Rails 6.1.6<br /> – Vite 2.9.9<br /> – Vue 3.2.25<br /> – Docker<br /> – Google Chrome (バージョン:103.0.5060.53)</p> <p># 前提<br /> – RailsはAPIモードで使用<br /> – フロントエンドとバックエンド間は異なるオリジンでの通信</p> <p># やり方<br /> APIモードで起動したRailsはそのままではCookieを使うことができません。<br /> なので、まずCookieを使うことができるようにします。</p> <p>“`ruby:app/controllers/application_controller.rb<br /> class ApplicationController < ActionController::API include ActionController::Cookies # 追加 ``` ```ruby:config/application.rb module App class Application < Rails::Application # ... config.middleware.</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>Ruby</div> <div class='tag-cloud-link'>Rails</div> <div class='tag-cloud-link'>Vue.js</div> <div class='tag-cloud-link'>Rails6</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/chain792/items/4783d67e5ab02d569517'>元記事を表示</a></div> </div> </section> <!-- 記事下シェアボタン --> <aside> <ul class="socialList"> <li class="socialList__item"><a class="socialList__link icon-facebook" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fmiofactor.com%2F2022%2F07%2F24%2Fpost-21026%2F&t=Ruby%E9%96%A2%E9%80%A3%E3%81%AE%E3%81%93%E3%81%A8%E3%82%92%E8%AA%BF%E3%81%B9%E3%81%A6%E3%81%BF%E3%81%9F2022%E5%B9%B407%E6%9C%8824%E6%97%A5" target="_blank" title="Facebookで共有"></a></li><li class="socialList__item"><a class="socialList__link icon-twitter" href="http://twitter.com/intent/tweet?text=Ruby%E9%96%A2%E9%80%A3%E3%81%AE%E3%81%93%E3%81%A8%E3%82%92%E8%AA%BF%E3%81%B9%E3%81%A6%E3%81%BF%E3%81%9F2022%E5%B9%B407%E6%9C%8824%E6%97%A5&https%3A%2F%2Fmiofactor.com%2F2022%2F07%2F24%2Fpost-21026%2F&url=https%3A%2F%2Fmiofactor.com%2F2022%2F07%2F24%2Fpost-21026%2F" target="_blank" title="Twitterで共有"></a></li><li class="socialList__item"><a class="socialList__link icon-line" href="http://line.naver.jp/R/msg/text/?Ruby%E9%96%A2%E9%80%A3%E3%81%AE%E3%81%93%E3%81%A8%E3%82%92%E8%AA%BF%E3%81%B9%E3%81%A6%E3%81%BF%E3%81%9F2022%E5%B9%B407%E6%9C%8824%E6%97%A5%0D%0Ahttps%3A%2F%2Fmiofactor.com%2F2022%2F07%2F24%2Fpost-21026%2F" target="_blank" title="LINEで送る"></a></li></ul> </aside> <!-- /記事下シェアボタン --> <!-- 記事下エリア[widget] --> <aside class="widgetPost widgetPost-bottom"><aside class="widget widget-post"><h2 class="heading heading-primary">タグ</h2><div class="tagcloud"><a href="https://miofactor.com/tag/%e3%81%9d%e3%81%ae%e4%bb%96/" class="tag-cloud-link tag-link-13 tag-link-position-1" style="font-size: 8pt;" aria-label="その他 (1個の項目)">その他</a></div> </aside></aside> <!-- /記事下エリア[widget] --> <!-- 関連記事 --> <aside class="related"><h2 class="heading heading-primary">関連する記事</h2><ul class="related__list"> <li class="related__item"> <a class="related__imgLink" href="https://miofactor.com/2024/01/11/post-30064/" title="JAVA関連のことを調べてみた"> <img src="https://miofactor.com/wp-content/uploads/2019/10/java-150x150.jpg" alt="JAVA関連のことを調べてみた" width="150" height="150" > </a> <h3 class="related__title"> <a href="https://miofactor.com/2024/01/11/post-30064/">JAVA関連のことを調べてみた</a> <span class="icon-calendar">2024.01.11</span> </h3> <p class="related__contents">目次 0.0.1. vbaコードフォマード0.0.2. VSCodeでOpen LibertyプロジェクトをAntからMavenに0.0.3. 【環境[…]</p> </li> <li class="related__item"> <a class="related__imgLink" href="https://miofactor.com/2024/02/18/post-31082/" title="Android関連のことを調べてみた"> <img src="https://miofactor.com/wp-content/uploads/2019/10/android-150x150.jpg" alt="Android関連のことを調べてみた" width="150" height="150" > </a> <h3 class="related__title"> <a href="https://miofactor.com/2024/02/18/post-31082/">Android関連のことを調べてみた</a> <span class="icon-calendar">2024.02.18</span> </h3> <p class="related__contents">目次 1. Android Hiltの@Inject constructor とは何か2. 【違いを比較】「ViewBinding」と「DataBin[…]</p> </li> <li class="related__item"> <a class="related__imgLink" href="https://miofactor.com/2020/02/17/post-3023/" title="Python関連のことを調べてみた2020年02月17日"> <img src="https://miofactor.com/wp-content/uploads/2019/10/python-150x150.png" alt="Python関連のことを調べてみた2020年02月17日" width="150" height="150" > </a> <h3 class="related__title"> <a href="https://miofactor.com/2020/02/17/post-3023/">Python関連のことを調べてみた2020年02月17日</a> <span class="icon-calendar">2020.02.17</span> </h3> <p class="related__contents">目次 1. MatplotLibでグラフ描画2. 現在開いているバッファのDjangoのテストをEmacsから実行する3. 焼きなまし法と巡回セールス[…]</p> </li> </ul></aside> <!-- /関連記事 --> <!-- コメント --> <!-- /コメント --> <!-- PVカウンター --> <!-- /PVカウンター --> </main> <!-- /l-main --> <!-- l-sidebar --> <div class="l-sidebar"> <aside class="widget"> <div class="searchBox"> <form class="searchBox__form" method="get" target="_top" action="https://miofactor.com/" > <input class="searchBox__input" type="text" maxlength="50" name="s" placeholder="記事検索"><button class="searchBox__submit icon-search" type="submit" value="search"> </button> </form> </div></aside><aside class="widget"><h2 class="heading heading-widget">Category</h2> <ul> <li class="cat-item cat-item-1"><a href="https://miofactor.com/category/other/">OTHER</a> </li> </ul> </aside><aside class="widget"><h2 class="heading heading-widget">Back number</h2> <ul> <li><a href='https://miofactor.com/2024/09/'>2024年9月</a></li> <li><a href='https://miofactor.com/2024/08/'>2024年8月</a></li> <li><a href='https://miofactor.com/2024/07/'>2024年7月</a></li> <li><a href='https://miofactor.com/2024/06/'>2024年6月</a></li> <li><a href='https://miofactor.com/2024/05/'>2024年5月</a></li> <li><a href='https://miofactor.com/2024/04/'>2024年4月</a></li> <li><a href='https://miofactor.com/2024/03/'>2024年3月</a></li> <li><a href='https://miofactor.com/2024/02/'>2024年2月</a></li> <li><a href='https://miofactor.com/2024/01/'>2024年1月</a></li> <li><a href='https://miofactor.com/2023/12/'>2023年12月</a></li> <li><a href='https://miofactor.com/2023/11/'>2023年11月</a></li> <li><a href='https://miofactor.com/2023/10/'>2023年10月</a></li> <li><a href='https://miofactor.com/2023/09/'>2023年9月</a></li> <li><a href='https://miofactor.com/2023/08/'>2023年8月</a></li> <li><a href='https://miofactor.com/2023/07/'>2023年7月</a></li> <li><a href='https://miofactor.com/2023/04/'>2023年4月</a></li> <li><a href='https://miofactor.com/2023/03/'>2023年3月</a></li> <li><a href='https://miofactor.com/2023/02/'>2023年2月</a></li> <li><a href='https://miofactor.com/2023/01/'>2023年1月</a></li> <li><a href='https://miofactor.com/2022/12/'>2022年12月</a></li> <li><a href='https://miofactor.com/2022/11/'>2022年11月</a></li> <li><a href='https://miofactor.com/2022/10/'>2022年10月</a></li> <li><a href='https://miofactor.com/2022/09/'>2022年9月</a></li> <li><a href='https://miofactor.com/2022/08/'>2022年8月</a></li> <li><a href='https://miofactor.com/2022/07/'>2022年7月</a></li> <li><a href='https://miofactor.com/2022/06/'>2022年6月</a></li> <li><a href='https://miofactor.com/2022/05/'>2022年5月</a></li> <li><a href='https://miofactor.com/2022/04/'>2022年4月</a></li> <li><a href='https://miofactor.com/2022/03/'>2022年3月</a></li> <li><a href='https://miofactor.com/2022/02/'>2022年2月</a></li> <li><a href='https://miofactor.com/2022/01/'>2022年1月</a></li> <li><a href='https://miofactor.com/2021/12/'>2021年12月</a></li> <li><a href='https://miofactor.com/2021/11/'>2021年11月</a></li> <li><a href='https://miofactor.com/2021/10/'>2021年10月</a></li> <li><a href='https://miofactor.com/2021/09/'>2021年9月</a></li> <li><a href='https://miofactor.com/2021/08/'>2021年8月</a></li> <li><a href='https://miofactor.com/2021/07/'>2021年7月</a></li> <li><a href='https://miofactor.com/2021/06/'>2021年6月</a></li> <li><a href='https://miofactor.com/2021/05/'>2021年5月</a></li> <li><a href='https://miofactor.com/2021/04/'>2021年4月</a></li> <li><a href='https://miofactor.com/2021/03/'>2021年3月</a></li> <li><a href='https://miofactor.com/2021/02/'>2021年2月</a></li> <li><a href='https://miofactor.com/2021/01/'>2021年1月</a></li> <li><a href='https://miofactor.com/2020/12/'>2020年12月</a></li> <li><a href='https://miofactor.com/2020/11/'>2020年11月</a></li> <li><a href='https://miofactor.com/2020/10/'>2020年10月</a></li> <li><a href='https://miofactor.com/2020/09/'>2020年9月</a></li> <li><a href='https://miofactor.com/2020/08/'>2020年8月</a></li> <li><a href='https://miofactor.com/2020/07/'>2020年7月</a></li> <li><a href='https://miofactor.com/2020/06/'>2020年6月</a></li> <li><a href='https://miofactor.com/2020/05/'>2020年5月</a></li> <li><a href='https://miofactor.com/2020/04/'>2020年4月</a></li> <li><a href='https://miofactor.com/2020/03/'>2020年3月</a></li> <li><a href='https://miofactor.com/2020/02/'>2020年2月</a></li> <li><a href='https://miofactor.com/2020/01/'>2020年1月</a></li> <li><a href='https://miofactor.com/2019/12/'>2019年12月</a></li> <li><a href='https://miofactor.com/2019/11/'>2019年11月</a></li> <li><a href='https://miofactor.com/2019/10/'>2019年10月</a></li> </ul> </aside> </div> <!-- /l-sidebar --> </div> <!-- /l-wrapper --> <div class="categoryBox"> <div class="container"> <h2 class="heading heading-primary"> <span class="heading__bg u-txtShdw bgc-darkgray">OTHER</span>カテゴリの最新記事 </h2> <ul class="categoryBox__list"> <li class="categoryBox__item"> <div class="eyecatch eyecatch-archive"> <a href="https://miofactor.com/2024/09/19/post-36890/"> <img src="https://miofactor.com/wp-content/uploads/2019/10/js-554x410.png" alt="JavaScript関連のことを調べてみた" width="554" height="410" > </a> </div> <ul class="dateList dateList-archive"> <li class="dateList__item icon-calendar">2024.09.19</li> </ul> <h2 class="heading heading-archive "> <a class="hc-darkgray" href="https://miofactor.com/2024/09/19/post-36890/">JavaScript関連のことを調べてみた</a> </h2> </li> <li class="categoryBox__item"> <div class="eyecatch eyecatch-archive"> <a href="https://miofactor.com/2024/09/19/post-36891/"> <img src="https://miofactor.com/wp-content/uploads/2019/10/java.jpg" alt="JAVA関連のことを調べてみた" width="540" height="270" > </a> </div> <ul class="dateList dateList-archive"> <li class="dateList__item icon-calendar">2024.09.19</li> </ul> <h2 class="heading heading-archive "> <a class="hc-darkgray" href="https://miofactor.com/2024/09/19/post-36891/">JAVA関連のことを調べてみた</a> </h2> </li> <li class="categoryBox__item"> <div class="eyecatch eyecatch-archive"> <a href="https://miofactor.com/2024/09/19/post-36894/"> <img src="https://miofactor.com/wp-content/uploads/2019/10/ios-554x410.png" alt="iOS関連のことを調べてみた" width="554" height="410" > </a> </div> <ul class="dateList dateList-archive"> <li class="dateList__item icon-calendar">2024.09.19</li> </ul> <h2 class="heading heading-archive "> <a class="hc-darkgray" href="https://miofactor.com/2024/09/19/post-36894/">iOS関連のことを調べてみた</a> </h2> </li> <li class="categoryBox__item"> <div class="eyecatch eyecatch-archive"> <a href="https://miofactor.com/2024/09/19/post-36888/"> <img src="https://miofactor.com/wp-content/uploads/2019/10/rails-725x410.png" alt="Rails関連のことを調べてみた" width="725" height="410" > </a> </div> <ul class="dateList dateList-archive"> <li class="dateList__item icon-calendar">2024.09.19</li> </ul> <h2 class="heading heading-archive "> <a class="hc-darkgray" href="https://miofactor.com/2024/09/19/post-36888/">Rails関連のことを調べてみた</a> </h2> </li> <li class="categoryBox__item"> <div class="eyecatch eyecatch-archive"> <a href="https://miofactor.com/2024/09/19/post-36884/"> <img src="https://miofactor.com/wp-content/uploads/2019/10/lambda.png" alt="Lambda関連のことを調べてみた" width="360" height="230" > </a> </div> <ul class="dateList dateList-archive"> <li class="dateList__item icon-calendar">2024.09.19</li> </ul> <h2 class="heading heading-archive "> <a class="hc-darkgray" href="https://miofactor.com/2024/09/19/post-36884/">Lambda関連のことを調べてみた</a> </h2> </li> <li class="categoryBox__item"> <div class="eyecatch eyecatch-archive"> <a href="https://miofactor.com/2024/09/19/post-36886/"> <img src="https://miofactor.com/wp-content/uploads/2019/10/python-640x410.png" alt="Python関連のことを調べてみた" width="640" height="410" > </a> </div> <ul class="dateList dateList-archive"> <li class="dateList__item icon-calendar">2024.09.19</li> </ul> <h2 class="heading heading-archive "> <a class="hc-darkgray" href="https://miofactor.com/2024/09/19/post-36886/">Python関連のことを調べてみた</a> </h2> </li> </ul> </div> </div> <!-- schema --> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "Article ", "mainEntityOfPage":{ "@type": "WebPage", "@id": "https://miofactor.com/2022/07/24/post-21026/" }, "headline": "Ruby関連のことを調べてみた2022年07月24日", "image": { "@type": "ImageObject", "url": "https://miofactor.com/wp-content/uploads/2019/10/python-640x410.png", "height": "410", "width": "640" }, "datePublished": "2022-07-24T11:51:10+0900", "dateModified": "2022-07-24T11:51:10+0900", "author": { "@type": "Person", "name": "editor" }, "publisher": { "@type": "Organization", "name": "f@ctor", "logo": { "@type": "ImageObject", "url": "", "width": "", "height":"" } }, "description": "目次 1. Cloud9でRubyの開発環境構築を行う2. 超簡単 Rails タイトルを動的にする 3. Rails7でfont-awesomeを表示させる方法4. GraphQL Rubyのvisible?, authorized?について5. RailsのTransactionについてのメモ6. if,else問題(演算子) police_trouble7. 【Rails】【Ruby】dec […]" } </script> <!-- /schema --> <!--l-footer--> <footer class="l-footer"> <div class="container"> <div class="pagetop u-txtShdw"><a class="pagetop__link" href="#top">Back to Top</a></div> <div class="widgetFoot"> <div class="widgetFoot__contents"> </div> <div class="widgetFoot__contents"> <aside class="widget widget-foot"><h2 class="heading heading-footer">タグ</h2><div class="tagcloud"><a href="https://miofactor.com/tag/%e3%81%9d%e3%81%ae%e4%bb%96/" class="tag-cloud-link tag-link-13 tag-link-position-1" style="font-size: 8pt;" aria-label="その他 (1個の項目)">その他</a></div> </aside> </div> <div class="widgetFoot__contents"> </div> </div> <div class="copySns "> <div class="copySns__copy"> © Copyright 2024 <a class="copySns__copyLink" href="https://miofactor.com">f@ctor</a>. <span class="copySns__copyInfo u-none"> f@ctor by <a class="copySns__copyLink" href="http://fit-jp.com/" target="_blank">FIT-Web Create</a>. Powered by <a class="copySns__copyLink" href="https://wordpress.org/" target="_blank">WordPress</a>. </span> </div> </div> </div> </footer> <!-- /l-footer --> <script type="text/javascript" src="https://miofactor.com/wp-includes/js/comment-reply.min.js?ver=6.4.1" id="comment-reply-js" async="async" data-wp-strategy="async"></script> <script type="text/javascript" src="https://miofactor.com/wp-includes/js/wp-embed.min.js?ver=6.4.1" id="wp-embed-js" defer="defer" data-wp-strategy="defer"></script> <script> function toggle__search(){ extra__search.className="l-extra"; extra__menu.className="l-extraNone"; menuNavi__search.className = "menuNavi__link menuNavi__link-current icon-search "; menuNavi__menu.className = "menuNavi__link icon-menu"; } function toggle__menu(){ extra__search.className="l-extraNone"; extra__menu.className="l-extra"; menuNavi__search.className = "menuNavi__link icon-search"; menuNavi__menu.className = "menuNavi__link menuNavi__link-current icon-menu"; } </script><script>Array.prototype.forEach.call(document.getElementsByClassName("css-async"),function(e){e.rel = "stylesheet"});</script> </body> </html>