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

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

【rails】active_storageに簡単にバリデーションを追加

画像投稿を簡単に導入できるactive_storageというGemがあります。画像投稿は簡単に実装できるようになりますが、PDFなども画像として投稿可能なため、思わぬエラーの原因になり得ます。そこで、バリデーション設定するにアウトプットします。

![スクリーンショット 2022-07-24 7.41.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2707093/525ce0cf-f621-8eeb-f08e-e5622c8fc91c.png)
# 結論
Active Storage ValidationsというGemを導入すると、既存のvalidateと同じような記述でバリデーションを追加できます。もう1つの方法は自身でバリデーションのメソッドを定義する方法ですが、今回こちらは紹介しません。
導入方法
“`ruby:gemfile
# Rails 5.2 and Rails 6バージョンのみ利用可能
gem ‘active_storage_validations’
#記述後bundle ins

元記事を表示

既存のJavaScript + importmap で動かす備忘録

既存のJavaScript `app/assets/javascripts/` と
Importmapに対応したJavascript `app/javascript/` の共存、その備忘録になります。

ここでは、`js_compressor` にTerserを利用しています。

## Gemfile
“`ruby:Gemfile

# The original asset pipeline for Rails [https://github.com/rails/sprockets-rails]
gem “sprockets-rails”

# Use JavaScript with ESM import maps [https://github.com/rails/importmap-rails]
gem “importmap-rails”

# Terser minifies JavaScript files by wrapping TerserJS to be accessible in Ruby [https://rubygems.org/gems/terser]
g

元記事を表示

超簡単 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__4"><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__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/ysk91_engineer/items/482870ac6e7c2fc9ad3f'>Railsプレイヤーと一緒に仕事をするWebデザイナー向けのノート</a></h3> <blockquote><p># 目的<br /> Railsでサーバーサイド設計をしている僕が、Webデザイナーの方とチームを組んで1つのWebアプリを作ることになりました。<br /> 相手の方はWebデザイナーとして十分な実力を持っていますが、サーバーサイドエンジニアと一緒に仕事をするのは初めてということでしたので、Railで作成したWebアプリがどのようになっているのかをまとめたいと思います。</p> <p># 準備<br /> 実際に作業に入る前に、まずは一緒に仕事をする準備をしましょう。</p> <p>## Rails環境を構築する<br /> RailsでWebアプリを動かす(ローカルサーバ上でアプリを走らせる)には、Rails環境が必要になります。<br /> 下記記事を参考に、`rails s`でローカルサーバを立ち上げられるようにしておいてください。<br /> [Ruby on Railsの環境構築をしてみよう!(Windows)](https://prog-8.com/docs/rails-env-win)</p> <p>## gitでプロジェクトを共有<br /> まずはgitでプロジェクトを共有します。<br /> こちらの記事を参考に、自分のレポジトリにプロジェクトフォルダを作成してください。<br /> [GitHub で他</p></blockquote> </blockquote> <aside class='widget widget-post'> <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/ysk91_engineer/items/482870ac6e7c2fc9ad3f'>元記事を表示</a></div> <h3 id="outline__7"><a href='https://qiita.com/AGO523/items/1215aa884c9d8fc1687d'>【rails】【rspec】RspecでRails のActionMailer の本文をテストする</a></h3> <blockquote><p>## はじめに<br /> 未経験からエンジニアに転職して、4ヶ月ほど経つエンジニアです。<br /> RspecでRails のActionMailer のメール本文に期待通りの文章が表示されているかどうか<br /> をテストする方法についてです。</p> <p>![アイコンバー.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/916052/61a0d3ee-6ff7-f4ca-bb00-622c3c99cfa5.jpeg)</p> <p>## 結論<br /> ~~~ruby<br /> expect(ActionMailer::Base.deliveries.last.html_part.body.to_s).to match(“メール本文の内容を書きます”)<br /> ~~~<br /> 上記のように↓を使うとテストできます。<br /> ~~~ruby<br /> expext(XXXX.html_part.body.to_s).to match(“”)<br /> ~~~</p> <p>## 具体例<br /> ~~~ruby<br /> # models/send_mail.rb<br /> def send_mail<br /> # メールを送信する処理<br /> mail.deli</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>Rails</div> <div class='tag-cloud-link'>RSpec</div> <div class='tag-cloud-link'>初心者</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/AGO523/items/1215aa884c9d8fc1687d'>元記事を表示</a></div> <h3 id="outline__8"><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__9"><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__10"><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__11"><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__12"><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__13"><a href='https://qiita.com/Ryuki0518/items/118802844af2c3cb4144'>ruby on rails 5</a></h3> <blockquote><p>$ rails new tweet_app<br /> railsで開発を始めるコマンド。<br /> アプリケーション名と同名のフォルダが作成され、その中に開発で必要なフォルダやファイルが用意される。<br /> app/アプリケーションのメインフォルダ<br /> config/設定情報に関するフォルダ<br /> db/データベースに関するフォルダ など……..</p> <p>$ rails server サーバーの起動<br /> 開発中のアプリケーションをブラウザに表示させるために行う。</p> <p>$ rails generate controller home top<br /> topというページを作成するためのコマンド<br /> このコマンドを実行すると、新しいWebページが自動で作られ、<br /> 「localhost:3000/home/top」というURLにアクセスできるようになります。<br /> ↓<br /> なぜコマンドだけでページができるのか<br /> →ページを表示するために必要なファイルが作られていた。 <br />  railsでは三つのファイルが必要である<br /> ①view…ページの見た目を作るためのHTMLファイル<br /> app/views/|home/top.html.erb| rails generate </p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>Rails</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/Ryuki0518/items/118802844af2c3cb4144'>元記事を表示</a></div> <h3 id="outline__14"><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__15"><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__16"><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__17"><a href='https://qiita.com/ysk91_engineer/items/eda70213239116b2593a'>ログインの有無でアクセス制限をする方法【Rails】</a></h3> <blockquote><p># 目的<br /> SNSサイトにて、ログインの有無でアクセス制限したいときの処理をメモにまとめます。</p> <p># サイト構成<br /> 作成したサイトの構成は下記です。</p> <p>“`ruby:routes.rb<br /> # ログイン中はアクセス制限<br /> get “/” => “users#login_form”<br /> post “/login” =>”users#login”<br /> get “/new” => “users#new”<br /> post “/users/create” => “users#create”</p> <p># ログアウト中はアクセス制限<br /> get “/edit/:id” => “users#edit”<br /> post “/users/update/:id” => “users#update”<br /> post “/logout” => “users#logout”<br /> “`</p> <p># current_userの準備<br /> ログイン中のユーザーを`@current_user`で定義します。<br /> これは全てのコントローラで使用する変数なので、`application_controller`で定義し、`before_action`に設定します。</p> <p>“`ruby:ap</p></blockquote> </blockquote> <aside class='widget widget-post'> <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/ysk91_engineer/items/eda70213239116b2593a'>元記事を表示</a></div> <h3 id="outline__18"><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> <h3 id="outline__19"><a href='https://qiita.com/nanohanabuttobasu/items/a6d44f4b7992516d0ff2'>Rails6でrails generate scaffoldすると`Unknown alias: default (Psych::BadAlias)`とエラーが出る</a></h3> <blockquote><p>## 結論</p> <p>Gemfileで`webpacker`のバージョンを `~> 5.0`と指定すればエラーが出なくなる。<br /> なぜかはわからない。</p> <p>## 詳細<br /> ### やりたかったこと<br /> Railsアプリでscaffoldを使ってリソースを作りたかった。</p> <p>### 環境<br /> – ruby 3.1.2<br /> – rails 6.1.6<br /> – bundle 2.2.17</p> <p>### やったこと<br /> 基本的にRailsチュートリアル第2章に従っています。<br /> 1. `rails new toy_app`でアプリを生成、`cd toy_app`で移動<br /> 1. Gemfileを下記のように書き換え<br /> 1. `bundle config set –local without ‘production’`で設定<br /> 1. `bundle install`でgemのインストール<br /> 1. `rails webpacker:install`<br /> 1. `rails generate scaffold User name:string email:string`でリソースを作ろうとする</p> <p>“` Gemfile<br /> source ‘https://rub</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'>Rails6</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/nanohanabuttobasu/items/a6d44f4b7992516d0ff2'>元記事を表示</a></div> <h3 id="outline__20"><a href='https://qiita.com/NaoyukineoG/items/4283bdd8668cf9acc7e7'>orderメソッドについてまとめ</a></h3> <blockquote><p>## はじめに<br /> 初心者なりにまとめたものになりますので、間違いにお気づきの方は、お手数ですが、コメント頂けると幸いです。</p> <p>内容は、Orderメソッドのまとめになります。</p> <p>## 目次<br /> – orderメソッド の雛形<br /> – orderメソッド 並び順のオプション<br /> – orderメソッドとallメソッド</p> <p>## orderメソッド の雛形<br /> 変数 = モデル名.order(“カラム名”)<br /> 変数:お好みの変数を定義する<br /> モデル名:並び替えたいテーブルを管理するモデルの名前<br /> カラム名:並び替えさせたいカラムの名前</p> <p>例.<br /> テーブル名: mail<br /> カラム名:id, title, content, user_id, created_at, update_at<br /> mailテーブルのuser_idで並び替えさせたい場合は、以下となります。</p> <p> hoge = Mail.order(“user_id”)</p> <p>## orderメソッド 並び順のオプション<br /> hoge = Mail.order(“user_id ASC”)<br /> hoge = Mail.order(“user_id</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/NaoyukineoG/items/4283bdd8668cf9acc7e7'>元記事を表示</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-21024%2F&t=Rails%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=Rails%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-21024%2F&url=https%3A%2F%2Fmiofactor.com%2F2022%2F07%2F24%2Fpost-21024%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/?Rails%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-21024%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/2022/02/11/post-16582/" title="Lambda関連のことを調べてみた2022年02月11日"> <img src="https://miofactor.com/wp-content/uploads/2019/10/lambda-150x150.png" alt="Lambda関連のことを調べてみた2022年02月11日" width="150" height="150" > </a> <h3 class="related__title"> <a href="https://miofactor.com/2022/02/11/post-16582/">Lambda関連のことを調べてみた2022年02月11日</a> <span class="icon-calendar">2022.02.11</span> </h3> <p class="related__contents">目次 1. AWS SQS+lambda連携 batchsize, batchwindowについて図解する2. Amazon SESを使うことで通常の[…]</p> </li> <li class="related__item"> <a class="related__imgLink" href="https://miofactor.com/2020/03/15/post-3437/" title="アマゾン売れ筋ランキング(本)2020年03月15日"> <img src="https://miofactor.com/wp-content/themes/lionmedia/img/img_no_thumbnail.gif" alt="NO IMAGE" width="160" height="160" > </a> <h3 class="related__title"> <a href="https://miofactor.com/2020/03/15/post-3437/">アマゾン売れ筋ランキング(本)2020年03月15日</a> <span class="icon-calendar">2020.03.15</span> </h3> <p class="related__contents">目次 1. アマゾン売れ筋ランキング(本) アマゾン売れ筋ランキング(本) #1 ¥1,320 オーバーロード14 滅国の魔女 #2 ¥1,485 ぼ[…]</p> </li> <li class="related__item"> <a class="related__imgLink" href="https://miofactor.com/2021/11/08/post-14206/" title="JAVA関連のことを調べてみた2021年11月08日"> <img src="https://miofactor.com/wp-content/uploads/2019/10/java-150x150.jpg" alt="JAVA関連のことを調べてみた2021年11月08日" width="150" height="150" > </a> <h3 class="related__title"> <a href="https://miofactor.com/2021/11/08/post-14206/">JAVA関連のことを調べてみた2021年11月08日</a> <span class="icon-calendar">2021.11.08</span> </h3> <p class="related__contents">目次 1. Android Studioでビルドエラーと格闘する2. Scala:コンストラクタに「上限境界」制約をかけて、条件を充足しないインスタン[…]</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-21024/" }, "headline": "Rails関連のことを調べてみた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:50:52+0900", "dateModified": "2022-07-24T11:50:52+0900", "author": { "@type": "Person", "name": "editor" }, "publisher": { "@type": "Organization", "name": "f@ctor", "logo": { "@type": "ImageObject", "url": "", "width": "", "height":"" } }, "description": "目次 1. 【rails】active_storageに簡単にバリデーションを追加2. 既存のJavaScript + importmap で動かす備忘録3. 超簡単 Rails タイトルを動的にする 4. Rails7でfont-awesomeを表示させる方法5. RailsのTransactionについてのメモ6. Railsプレイヤーと一緒に仕事をするWebデザイナー向けのノート7. 【ra […]" } </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> 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>