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

Rails関連のことを調べてみた2022年12月03日
目次

RailsをRenderでデプロイ ヘルプ集【備忘録】

# 背景
以下の記事でデプロイを進めていく中で、わかりにくいことがあったので
その備忘録です!

https://qiita.com/koki_73/items/60b327a586129d157f38

# 流れ
今回のヘルプ集は上述の記事の中でフワッと記述されていた部分のみ抜粋します!
1. [マスターキーについて](#マスターキーについて)
1. [Gemfileについて](#gemfileについて)
1. [render-build.shについて](#render-buildshについて)
1. [render.yamlについて](#renderyamlについて)
1. [外部サービスとの連携(APIキーの設定)](#外部サービスとの連携apiキーの設定)

## マスターキーについて
このマスターキーが出現するのは[この部分](https://qiita.com/koki_73/items/60b327a586129d157f38#%E3%83%87%E3%83%97%E3%83%AD%E3%82%A4%E6%89%8B%E9%A0%86-%E3%81%9D%E3%81%A

元記事を表示

【Rails6】コンソールでアソシエーションを理解しよう②(多対多)

この投稿は、
[DMM WEBCAMP mentor Advent Calendar 2022](https://qiita.com/advent-calendar/2022/infratop_mentor)
の投稿3日目のエントリーです。

2日目の @tomoaki-kimura の投稿、
[【Rails6】コンソールでアソシエーションを理解しよう①(一対多)](https://qiita.com/tomoaki-kimura/items/165fdcf94c179e8e08b4) の続きとなります。

## 環境と前提

– ruby 3.1.1
– Rails 6.1.7
– yarn 1.22.18

前提として、

[【Rails6】コンソールでアソシエーションを理解しよう①(一対多)](https://qiita.com/tomoaki-kimura/items/165fdcf94c179e8e08b4)

こちらの環境が作れていて、手を動かした状態からスタートとなります。

## 多対多のモデル
### 中間テーブルとは

中間テーブルは、今回の `User` と `P

元記事を表示

「位置引数とキーワード引数の分離」の要修正箇所収集するマン

## 0. はじめに

前置きとなる記事は以下 :rolling_eyes:

##### [Ruby 3.0 に含まれる非互換「位置引数とキーワード引数の分離」の乗り越え方](https://qiita.com/m-kubo/private/0cff8efb04390eb32e75)

## 1. 「位置引数とキーワード引数の分離」の要修正箇所を収集するコード

さっそくですが、以下のようなコードを Rails に追加します。

“`ruby:config/initializers/separation_of_positional_and_keyword_arguments.rb
# 「位置引数とキーワード引数の分離」の対応を進めるための補助モジュール
# Warning.warn をオーバーライドし、warning を出力する条件、出力先を制御します。
# 参考:https://docs.ruby-lang.org/ja/2.7.0/class/Warning.html
# https://docs.ruby-lang.org/en/2.7.0/Warning

元記事を表示

eager_load!で失敗した反省文

この記事は「READYFOR Advent Calendar 2022」の3日目の記事です。

# ようするに

Railsアプリケーションでは以下の設定がおすすめ。

“`rb
# config/environments/test.rb
config.eager_load = ENV[“CI”].present?
“`

# `Rails.config.eager_load`とは

アプリケーションは、コードが大きくなればなるほど読み込みに時間がかかってしまいます。

例えば「ちょっと動作確認のためにconsoleを開きたいんだけどな」と考えコンソールを開いたとき、毎回この読み込みが発生すれば開発効率が低下するのは火を見るより明らかです。

そこでRailsではコードの読み込みを最小限にするための遅延読み込みをサポートしています。Ruby定数名からファイルを探し出して読み込む仕組みで、開発用途なら非常に便利な機能ですね。

一方production用途ではリクエストを高速に返したいので、遅延読み込みではなく、Rails起動時にまとめて読み込んでいます。この切り替えを`Rails.

元記事を表示

Turbo 2: Turbo Driveでナビゲーション

:::note
この記事は[Google翻訳](https://translate.google.co.jp/)の結果を編集したものです。
:::

https://turbo.hotwired.dev/handbook/drive

Turbo Driveはページレベルのナビゲーションを強化するTurboの一部です。リンクのクリックとフォームの送信を監視し、それらをバックグラウンドで実行して完全なリロードを行わずにページを更新します。これは、以前は[Turbolinks](https://github.com/turbolinks/turbolinks)として知られていたライブラリの進化版です。

# ページナビゲーションの基本

Turbo Driveはページナビゲーションをアクションのある場所(URL)への訪問としてモデル化します。

訪問はクリックからレンダリングまでのナビゲーションライフサイクル全体を表します。これにはブラウザ履歴の変更、ネットワークリクエストの発行、キャッシュからのページのコピーの復元、最終的なレスポンスのレンダリング、スクロール位置の更新が含まれます。

元記事を表示

[rails]Googlemap APIを使ってプチ食べログを作りたいのでテスト環境で途中まで実装してみた!(Googlemap表示位置の変更、新規投稿編)

#### 初心者がやりたいことを綺麗にできないのでゴリ押ししてやり通しています。
間違いなく綺麗な書き方ではないので、そういったコードが嫌いな方は本気で見ないことをお勧めします。

## [やりたいこと]
ポートフォリオ用に、食べログのラーメン屋さん専門みたいなのを作ろうかなと
やろうとしている機能は
– [x] 口コミ投稿機能(今回の主軸)
– [ ] Device機能(既に完了済み)
– [x] GooglemapAPI(ちょっとだけ)
– [ ] 多対多(アソシエーション、フォロー機能)
– [ ] AWS(デプロイ済み)
などです。

## [注意]
かなり行き当たりばったりな記事です。
後々、他のgemなどの影響で書き方など変わる可能性があります。ご承知ください。

## [環境]
※使っていない可能性のある環境も記載してます。
Mac M1チップ
rails 6.1.6
ruby 3.0.1
node v16.17.1

## [前回まで]

https://qiita.com/_soratanaka_/items/766cf2fd0d56e538593c

##

元記事を表示

github actionでdb migrate時にffi周りでLoadErrorが発生した

## 背景
2022/12月になってからgithub actionでdb migrate周りでエラーになり出したので対処の覚書。
(原因を完全に特定しているわけではないのでさっくり)

エラー内容抜粋
“`bash
LoadError: libffi.so.7: cannot open shared object file: No such file or directory – /home/runner/work/appname/vendor/bundle/ruby/3.0.0/gems/ffi-1.15.5/lib/ffi_c.so
/home/runner/work/appname/vendor/bundle/ruby/3.0.0/gems/bootsnap-1.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require’
/home/runner/work/appname/vendor/bundle/ruby/3.0.0/gems/bootsnap-1.15.0/lib/bootsna

元記事を表示

【徹底解説】プログラミング初心者が2ヶ月かけてRuby on Railsのアプリを開発しました!ぜひ一度ご覧ください!

# みんなの戦国武将

– アプリ → https://sengokubusyou.herokuapp.com/
– Qiita → https://qiita.com/TS1engineer

# 1. 概要

– **200 人以上の豊富な戦国武将の中から、好きな武将を見つけたり、登録することができます。**
– **好きな武将にコメントを投稿することで、気の合う仲間とつながることができるアプリです。**

![index](https://user-images.githubusercontent.com/105146615/204918007-0e2f2fc2-5331-40ba-886a-d6a2aea3f146.gif)

# 2. 開発背景

## 歴史が大好き

**2016 年大河ドラマ「真田丸」をきっかけに歴史に興味をもち、歴史の本を購入したりする中で、実際に現地に行くことが趣味になりました。**
中でも戦国武将について調べることが日課となっていて、特に気になる武将がいれば、ゆかりの地を巡ったりしています。
![haikei1jpg.jpg](https://qi

元記事を表示

rails g kaminari:views bootstrap4 でprivate method `themes’ called for Kaminari::Generators::ViewsGenerator:Class (NoMethodError)というエラーが出る

# 実行環境
* Windows 10
* Rails 6.0.3.6
* Ruby 3.1.2

# 実践したこと
* gem ‘kaminari’を追加し、ページネーションを実装しようとしていました。
* gem導入後、bootstrap用のビューテンプレートを作成しようとし、
“`rails g kaminari:views bootstrap4“`のコマンドを実行したところ、
タイトルのようなエラーが発生したため、解決のプロセスをまとめます。
# エラー内容
“`言語:ターミナル
% rails g kaminari:views bootstrap4
C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/kaminari-core-1.2.0/lib/generators/kaminari/views_generator.rb:117:in `initialize’: Invalid argument @ rb_sysopen – https://api.github.com/repos/amatsuda/kaminari_themes

元記事を表示

【Ruby on Rails】プログラミング初心者がオンラインスクールのチームで開発したアプリを公開しました!ぜひ一度ご覧ください!

# 1. 開発したアプリ
– アプリ → https://team-project-64.herokuapp.com/
– GitHub → https://github.com/yanbaru-expert/team_project_64
![index.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2674841/635b4f64-3276-2a42-1adc-4252d4027451.gif)

# 2. 開発環境
## 使用技術
| 項目 | 内容 |
| —————- | ——————– |
| 言語 | Ruby 2.7.6 |
| フレームワーク | Ruby on Rails 6.1.6.1 |
| フロントエンド | HTML/scss/JavaScript |
| データベース | PostgreSQL

元記事を表示

【個人開発】【Rails×Next.js×ECS】「プログラミング学習のロードマップ投稿サービス ProadMaps」を開発するまでのロードマップとサービス概要について

## はじめに
私はもともとSIerで金融インフラの運用管理を4年ほど行なっていましたが、コードが書けるエンジニアになりたいと思い、webエンジニアへの転職に向けて学習をしております!
本記事では、私がプログラミングほぼ未経験から作成した[プログラミング学習のロードマップ/学習記録 作成ツール&共有サービス 「ProadMaps」](https://proadmaps.com/)について、作成までの学習記録、使用技術、サービス概要について紹介させていただきます!
[![logo.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2710784/10364628-c298-694e-110d-717d9036165f.png)](https://proadmaps.com/)
**Githubのリポジトリ**

https://github.com/uyudane/backend-proadmaps

https://github.com/uyudane/frontend_proadmaps

## ポートフ

元記事を表示

【Rails API】hash値で検索をかけたい場合

## はじめに
調整さんのようなWebアプリを作成していて、ルーティング・コントローラー内で、イベントをidではなくhash化されたidを使用した時の備忘録

### マイグレーションファイル
“`ruby
class CreateEvents < ActiveRecord::Migration[7.0] def change create_table :events do |t| t.references :user, foreign_key: true, null: false t.references :category, foreign_key: true, null: true t.string :name, null: false t.text :description, null: false t.boolean :is_public, null: false, default: true t.string :hashed_url, null: false t.datetim

元記事を表示

動画の結合処理を実装したくて試行錯誤の末に、MediaConvertで頑張った話。

## ****この記事に期待できること****

複数の動画を結合する処理の流れがわかる
****AWS Elemental MediaConvert****の扱い方がわかる
**AWS Lambda**のメリットと使い所がわかる

## なぜ、「動画の結合」をしたいと思ったか?

実は私、パントマイムのパフォーマー&芝居役者として活動してまして、今は映像制作を仲間と一緒にやっています。こんな感じのチャンネル↓
『アニメOPっポイヤツ』
[https://www.youtube.com/c/Poiyatsu](https://www.youtube.com/c/Poiyatsu)
![ポイヤツ.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2984421/3cfb4c39-b53b-7757-245b-d6855f1857ea.jpeg)

「映像作りって大変だけど、楽しいなー。視聴者さんとも一緒に作れたら、もっと楽しいのになぁ」と考えていた所、
**ユーザーさんの投稿動画と、私「ハナムラ」の

元記事を表示

Ruby 3.0 に含まれる非互換「位置引数とキーワード引数の分離」の乗り越え方

## 0. はじめに

“`text
おはよう、Ruby エンジニアの皆さん。2022 年も年の瀬となりましたが、元気にしていますか?

実を言うと Ruby 2.7.x はもうだめです。突然こんなこと言ってごめんね。

でも本当です。今年の 4/12 に Ruby 2.7.6 がリリースされました。

それが終わりの合図です。程なく始まるセキュリティメンテナンスフェーズは 1 年しかないので気をつけて。

それがやんだら、少しだけ間をおいて終わりがきます。
“`

**参考:** [「実を言うと、地球はもうだめです。」](https://alu.jp/series/%E6%9C%80%E7%B5%82%E5%85%B5%E5%99%A8%E5%BD%BC%E5%A5%B3/article/V6fWmBCTyJYu3xZwTCCi)

## 1. 要するに、来年の 4 月で Ruby 2.7.x のサポートが終了します

そんなわけで、見て見ぬ振りをしてきた、あなたのプロジェクトの Ruby バージョンの更新も、ついには年貢の納め時というわけです。まだ時間は残されていますので、年内

元記事を表示

Turbo 1: はじめに

:::note
この記事は[Google翻訳](https://translate.google.co.jp/)の結果を編集したものです。
:::

https://turbo.hotwired.dev/handbook/introduction

TurboにはJavaScriptをあまり使用せずに高速かつ現代的で漸進的に強化されたWebアプリケーションを作成するためのいくつかの手法がバンドルされています。これはすべてのロジックをフロントエンドに配置してアプリのサーバーサイドをJSON APIくらいにとどめる流行のクライアントサイドフレームワークのより単純な代替手段を提供します。

TurboではサーバーにHTMLを直接配信させることができます。つまり、アクセス許可を確認するためのすべてのロジック、ドメインモデルと直接対話すること、およびアプリケーションのプログラミングに必要なその他すべてのことをお好みのプログラミング言語内で多かれ少なかれ排他的に行うことができます。もうJSON分割の両側でロジックをミラーリングしなくなります。すべてのロジックはサーバー上にあり、ブラウザーは最終的な

元記事を表示

Rails6 を Docker で開発する為に準備する

# 初めに

プロジェクトの技術選定の中で、`Rails6` を検討しており、**「せっかく新規で開発するならDockerで開発したいよね」** という話になったので、`Docker` を使って `Rails` プロジェクトの作成までの手順をまとめておきます。

# 概要

## 事前準備

– Docker for mac のインストール
– base Image の取得 docker pull ruby:2.6.5-alpine3.10
(これにした理由は、Small. Simple. Secure だからです)

## Rails プロジェクトの作成

### 1. Login to docker container

Docker container に入って `Rails` プロジェクトを作成します。
作業ディレクトリで以下のコマンドを実行します。

“`.bash
$ docker run -v $PWD:/usr/src/ –rm -it ruby:2.6.5-alpine3.10 /bin/sh -c /bin/sh
“`

`-v $PWD:/usr/src/

元記事を表示

【実践版】Rails アプリを Cloud Run で動かしてみよう

[【超シンプル版】Rails アプリを Cloud Run で動かしてみよう](https://qiita.com/kato-hiroaki/items/b8abe200b4b653f0e655)で Cloud Run を使って Rails アプリを動かしてみました。
今回はもう少し実践で使えるようにデータベース、環境変数の設定、ログの収集、ビルドの自動化を構築していきたいと思います。

## 前提

以下の構成で作っていきます!
![Untitled-2022-11-29-2139.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2322836/c701f2fa-0e28-f558-833c-3212ce6a2d96.png)

## 追加で利用するプロダクト

– Cloud SQL
– Cloud Logging
– Secret Manager

## 構築の流れ

1. Rails アプリ作成
1. Cloud SQL と接続する
1. Secret Manager を利用する
1. Clou

元記事を表示

【Rails6】コンソールでアソシエーションを理解しよう①(一対多)

この投稿は、
[DMM WEBCAMP mentor Advent Calendar 2022](https://qiita.com/advent-calendar/2022/infratop_mentor)
の投稿2日目のエントリーです。

1日目は @Keichan_15 さんで
[Rails I18n(日本語化)を使用する場合の躓きポイント徹底攻略](https://qiita.com/Keichan_15/items/eae011dccea44abda768)
です。「翻訳ファイルあたらね〜」となる事は多いハズなので、初学者の方には嬉しい記事ですね。

## はじめに

最近DMMでメンターをやらせていただいております。 @tomoaki-kimura です。
RailsはRailsが隠しているコードを理解する事で、ぐっと扱いが上手になります。
今回は、今更のアソシエーションをRailsコンソールを使ってRailsのアソシエーションを理解していきましょう。

## 環境と前提

– ruby 3.1.1
– Rails 6.1.7
– yarn 1.22.18

(今回モデルし

元記事を表示

Rails I18n(日本語化)を使用する場合の躓きポイント徹底攻略

# はじめに
こんにちは!
記念すべき **DMM WEBCAMP mentor Advent Calendar 2022** :christmas_tree: **1日目** を担当します @Keichan_15 です!

普段はDMM WEBCAMPで受講生さんの質問対応などを行うメンターとして働いております!
今回は、日頃から受講生さんの対応を行う中で特に躓きが多かった箇所である **「I18nを用いた日本語化が反映されない」** 問題を解決していこうぜ! といった記事になります。

本記事では主に、
– **I18nって何のこと?**
– **日本語化したのに反映されないよ…**

と疑問や悩みをお持ちである、多くの方々の助けとなれれば幸いです!

また本記事が自身のQiita初執筆になりますので、多々目に余る箇所などがあるかとは思いますが温かい目で見守って頂けますと幸いです…。
よろしくお願い致します!

# 1. そもそも I18n は何ができるの?
まず I18n とは何なのでしょうか。
I18n は **internat

元記事を表示

Can’t connect to MySQL server on ‘xx’ (115)エラーの解決方法と思わぬ落とし穴

# 起きた事象
MySQLとRailsの環境をdocker-composeで作成し、DBを作成しようとしたら下記のエラーになりました。

“`java:terminal
$ docker-compose run web rails db:create



Can’t connect to MySQL server on ‘db’ (115)
Couldn’t create ‘app_development’ database. Please check your configuration.
rails aborted!
ActiveRecord::ConnectionNotEstablished: Can’t connect to MySQL server on ‘db’ (115)

Caused by:
Mysql2::Error::ConnectionError: Can’t connect to MySQL server on ‘db’ (115)

Tasks: TOP => db:create
(See full trace by running task w

元記事を表示

OTHERカテゴリの最新記事