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

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

html_safeの意味

# 背景
controller.rbにhtmlを埋め込んでもhtmlの下のようにソースコードが表示されてしまう

**失敗例**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/177825/1b451b2c-80a3-f73d-9015-d792c62a6c8b.png)

# 結論
`render html: msg.html_safe`
このように、html_safeを入れること
**成功例**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/177825/8781e6f0-a3b5-779c-afb6-acff8548bea1.png)

# 全体ソースコード
“`ruby:改善後sample
class HelloController < ApplicationController def index #render plain:"Hello, This

元記事を表示

50代・ほぼ独学・文系・未経験で2ヶ月半でWebアプリを開発するまで!【Rails+Nginx+Docker+AWS】

はじめに

コロナ禍の中で会社経営をあきらめ、50代目前にして「Webアプリの開発者に、オレはなる!」と決意し、2ヶ月半でアプリを作成した経緯をご紹介させていただきます。

アプリを実装するまで

今回のアプリを作成する「前」のおもな自分のスペックです。

+ アプリ開発前の年齢は限りなく50歳
+ 大学は思いっきり文系の大学。
+ 元WEBデザイナーなのでHTML,CSSなどの知識はある(JavaScriptはコピペ)。
+ 独学でProgateやRails Tutorialをやったことがある。
+ アメリカの大学卒なので英語の公式ドキュメントや記事は読める(ただしプログラミング関係は日本語でも理解がむずかしかったりするのでそこまで有利に感じなかった)。
+ 今回採用したDocker, AWS, Nginxの知識は「どこかでそんな単語を見たことあるような」のレベル

3年間ほど、書籍などを通して自分なりにアレンジをしたアプリを作成したことがあり、自社で

元記事を表示

【rails】任意のバリデーションを設定

単体テストコードでエラーと超格闘してます。そこでバリデーションを任意で設定する方法について、わかったのでアウトプットします。

やり方
“`ruby:model
class Room < ApplicationRecord validate :deadline_date #deadline_dateはメソッド名 private def deadline_date if deadline.nil? errors.add(:deadline, "締切を入力して下さい") end end end ``` 注意点 ・普段バリエーションを追加するときは「validates :カラム名, presence: true」というように記述しますが、今回は「validate メソッド名」と記述していると点 ・メソッドはprivateより下に記述すること。 ・今回はメソッド(deadline_date_cannot_be)がtrueの場合、バリデーションが作用し、エラーメッセージに"締切を入力して下さい"が追加される

元記事を表示

webサーバーとアプリケーションサーバーの違いについて

## なぜ記事を書こうと思ったか
アプリケーションサーバーとWebサーバーについての明確な違いと例えば、どのような種類があるか調べた為、備忘録としてまとめる。

## webサーバーとアプリケションサーバーの説明
– webサーバー(例:Nginx、Apache、WEBrick)
ユーザーから送られてきた自サイトへのリクエストを受け取り、なんらかの処理を加えるプログラムです。そして、場合によってはあなたのRailsアプリケーションにリクエストを投げます。SSLリクエストや静的なファイルやアセット、圧縮されたリクエスト等を処理したり、その他大半のwebサイトが必要としそうな数多くの処理をこなしたりすることができます。もし、Railsアプリケーションがリクエストを処理しなければならない場合は、webサーバーはリクエストをアプリケーションサーバーにパスします。
複数のアプリケーションを一度に処理したり、アセットを素早くレンダリングしたり、リクエストごとに発生する多くの処理をさばいたりしてくれます。

– アプリケーションサーバー(例:Unicorn、Thin、Rainbows、Mongr

元記事を表示

Rails5からRails6へのアップデート手順(Rails5.2.6.2→Rails6.1.4.7)

Rails5からRails6へのアップデートメモ
===================================

今更ですが、rails4からrails7までアップデートする必要があったため
Rails4→Rails5
Rails5→Rails6
Rails6→Rails7
のアップデートで手順をまとめていきます。

ここではRails5→Rails6の手順を書いていきます。

## 事前準備

### testが通るようにしておく
testを通るようにしておくと、アップデート後に、どこがエラーになるのか確認しやすいです。
事前にtestが全て通るようにしておきましょう。

### Ruby Version
今回はRuby 2.7.5 で対応してます

### gccのバージョンを確認しておく

mini_racerをインストールするためには、gcc6.3以上が必要になってきます。
今回centos7にはyum installで新しいバージョンを入れられなかったため
devtoolsetを使用してインストールしました。
詳細は後ほど記載します。

## Railsをアップ

元記事を表示

【Rails】present?を少し理解してみる(クイズあり)

# 僕はpresent?について「完全に理解」していた
Railsにはpresent?という便利なメソッドがあり、使う機会も見る機会もなかなかに多いです。

present?はblankではないオブジェクトに対してtrueを返してくれて、だいたいの場合において直感通りの挙動を示します。(`present? = !blank?`)

しかし先日少し直感とは反する挙動に遭遇し、せっかく検証したのでメモを残しておきます

# blank?ってなんだっけ?

blank?メソッドの仕様はこちら

https://api.rubyonrails.org/classes/Object.html#method-i-blank-3F

> An object is blank if it’s false, empty, or a whitespace string. For example, false, ”, ‘ ’, nil, [], and {} are all blank.

falsyなオブジェクト or emptyなオブジェクト or 空白文字がblankなオブジェクトになります。
つま

元記事を表示

こんな感じでRailsコンテナーを作ると良いのではないか?

### やってみたこと

RailsでWebサービスを行うプロジェクトに参画したがどんな風にプロダクション用のDocker化をするのが良いか勉強がてらやってみた。

### これを書いてる人のスペック

ここ10年ぐらいの RubyとRailsの文化を知らない。出始めにちょっと触ったことはあるが、すごく流行っていた時期にはほとんど触れる機会がなく、今更だけどRailsを勉強中。

– 実は[RailsによるアジャイルWebアプリケーション開発](https://www.amazon.co.jp/dp/4274066401)の初版本は読んでいた。
– プロダクションレベルでRailsアプリの開発運用経験なし。(ゼロ年代にPoCや簡易ツールの為には利用あり)
– [gem](https://rubygems.org/profiles/hkato)パッケージを一つだけ登録したことがあるがゼロ年代の話(対象Adobeのサービスは終了済み)。
– Railsで書かれているRedmineからGitLabの[プロジェクト移行ツール](https://github.com/redmine-gitlab

元記事を表示

未経験からITエンジニアとして転職するためにテックキャンプに通ってみた

# テックキャンプを受講してみて
私は、未経験でのITエンジニアへの転職を行うためにテックキャンプというプログラミングスクールに通っていましたので、今後検討される方のために感想を中立な立場として記述したいと思います。
なお、こちらの記事の内容は一個人の見解ですので、参考程度にしていただければと思います。
その上で、私の属性は以下を参考にしていただければ幸いです。

# 前提条件
【当方の前提条件】
・大学は私立文系で3年次より金融専攻
・銀行の営業員として業務に従事
・新卒で入社した企業を1年で退社した、24歳の人
・在職中にHTML&CSSは本を使って学習
・スクール学習期間中は、11時間程度学習(土日関係なし)

# 結論
テックキャンプはお勧めできる。(条件付き)
考える上で「学習内容について」「費用面」「転職活動面」の大きく3つに分けてお話しします。みなさんが気になるであろう上記3つ以外にももちろんスクール選びのための要因や比較等もあると思いますが、ひとまずこちらの3点だけ記述させていただこうと思います。

### 学習内容について
他社サービスとは比較していないですが、テッ

元記事を表示

Rails4からRails5へのアップデート手順(Rails4.2.11→Rails5.2.6.2)

Rails4からRails5へのアップデートメモ
===================================

今更ですが、rails4からrails7までアップデートする必要があったため
Rails4→Rails5
Rails5→Rails6
Rails6→Rails7
のアップデートで手順をまとめていきます。

ここではRails4→Rails5の手順を書いていきます。

## 事前準備

### testが通るようにしておく
testを通るようにしておくと、アップデート後に、どこがエラーになるのか確認しやすいです。
事前にtestが全て通るようにしておきましょう。

### ruby更新
rubyが2.5.7だと対応してないgemがいくつかあり、
gem updateでエラーが出たので2.7.5にupdateしました。

## Railsをアップデート

### gemfileの修正

gemのrailsのバージョンを変更する
“`
変更前
gem ‘rails’, ‘4.2.11’
“`

“`
変更前
gem ‘rails’, ‘5.2.6.2’
“`

元記事を表示

【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__2_11"><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__2_12"><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__2_13"><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__2_14"><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__2_15"><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__2_16"><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__2_17"><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__2_18"><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> </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%2F25%2Fpost-21050%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%8825%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%8825%E6%97%A5&https%3A%2F%2Fmiofactor.com%2F2022%2F07%2F25%2Fpost-21050%2F&url=https%3A%2F%2Fmiofactor.com%2F2022%2F07%2F25%2Fpost-21050%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%8825%E6%97%A5%0D%0Ahttps%3A%2F%2Fmiofactor.com%2F2022%2F07%2F25%2Fpost-21050%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/09/15/post-36772/" title="AWS関連のことを調べてみた"> <img src="https://miofactor.com/wp-content/uploads/2019/10/aws-150x150.jpg" alt="AWS関連のことを調べてみた" width="150" height="150" > </a> <h3 class="related__title"> <a href="https://miofactor.com/2024/09/15/post-36772/">AWS関連のことを調べてみた</a> <span class="icon-calendar">2024.09.15</span> </h3> <p class="related__contents">目次 1. EC2 amazon linux にPythonを入れてみよう 入門2 仮想環境やライブラリ構築2. EC2 amazon linux に[…]</p> </li> <li class="related__item"> <a class="related__imgLink" href="https://miofactor.com/2024/01/05/post-29882/" title="PHP関連のことを調べてみた"> <img src="https://miofactor.com/wp-content/uploads/2019/10/php-150x150.png" alt="PHP関連のことを調べてみた" width="150" height="150" > </a> <h3 class="related__title"> <a href="https://miofactor.com/2024/01/05/post-29882/">PHP関連のことを調べてみた</a> <span class="icon-calendar">2024.01.05</span> </h3> <p class="related__contents">目次 1. 【JQuery,Ajax,PHP】JQueryで非同期通信(簡単な仕組み~コード)2. 【PHP】マイナーフレームワーク「Flow」を試し[…]</p> </li> <li class="related__item"> <a class="related__imgLink" href="https://miofactor.com/2023/01/13/post-25844/" title="オープンソース調べOSS 2023年01月13日"> <img src="https://miofactor.com/wp-content/uploads/2019/11/967637031-book-168824_1920-YEnY-1920x1280-MM-100-150x150.jpg" alt="オープンソース調べOSS 2023年01月13日" width="150" height="150" > </a> <h3 class="related__title"> <a href="https://miofactor.com/2023/01/13/post-25844/">オープンソース調べOSS 2023年01月13日</a> <span class="icon-calendar">2023.01.13</span> </h3> <p class="related__contents">目次 1. ScribusでLuaLatexを利用できるようにする2. ローカルディレクトリから直接GitHubリモートリポジトリを作成する3. LF[…]</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/25/post-21050/" }, "headline": "Rails関連のことを調べてみた2022年07月25日", "image": { "@type": "ImageObject", "url": "https://miofactor.com/wp-content/uploads/2019/10/python-640x410.png", "height": "410", "width": "640" }, "datePublished": "2022-07-25T11:50:53+0900", "dateModified": "2022-07-25T11:50:53+0900", "author": { "@type": "Person", "name": "editor" }, "publisher": { "@type": "Organization", "name": "f@ctor", "logo": { "@type": "ImageObject", "url": "", "width": "", "height":"" } }, "description": "目次 0.1. html_safeの意味0.2. 50代・ほぼ独学・文系・未経験で2ヶ月半でWebアプリを開発するまで!【Rails+Nginx+Docker+AWS】1. はじめに2. アプリを実装するまで2.1. 【rails】任意のバリデーションを設定2.2. webサーバーとアプリケーションサーバーの違いについて2.3. Rails5からRails6へのアップデート手順(Rails5.2. […]" } </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>