<%
Docker環境でbinding.pryを使用→binding.pryで処理が止まらない
# 概要
pry-byebugを使ってデバッグしようとしたところ、binding.pryで動作が止まらずデバッグできなかった。
# 目次
– [環境](#環境)
– [現状](#現状)
– [対策](#対策)
– [結果](#結果)
– [おわりに](#おわりに)# 環境
Ruby 3.1.2
Rails 7.0.3
# 現状
このようにデバッカーの入力待ちにならず、HTMLが生成されてしまいます。“`
my_app $ docker attach my_app_web_1
Started GET “/boards/new” for 172.18.0.1 at 2022-08-13 11:38:59 +0000
Processing by BoardsController#new as HTML
Rendering layout layouts/application.html.erb
Rendering boards/new.html.erb within layouts/application
Rendered boards/new.html.er
Unknown actionが発生したら
![スクリーンショット 2022-08-13 19.26.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2745288/bfd71eb9-547e-592f-42ff-166816a4e686.png)
## 状況説明
“`ruby:views/games/new.html
<%= form_with model: @game_players, url: games_path, local: true do |f| %>
# 中略
<%= f.select :grade_id, Grade.all.map { |grade| [grade.grades, grade.id] }, { prompt: '選択してください' }, include_blank: true %>
# 中略
“`
“`ruby:controllers/game_player .rb
def create
@game_players = GamePlayer.
【Rails】gem ‘rails-erd’を使用するとFailed: ActiveSupport::MessageEncryptor::InvalidMessage: ActiveSupport::MessageEncryptor::InvalidMessageが発生
# 環境
| No | 項目 | 内容 |
|—:|————-|————|
| 1 | OS | Mac |
| 2 | Ruby | 2.6.3 |
| 3 | rails | 6.0.4 |
|4|Homebrew|3.5.9
# はじめに
gem ‘rails-erd’を使用してER図を作成してもらおうと思った。そこで以下のところでつまづいたため、どう解決したかを記載していく。# 現状
[こちら](https://qiita.com/TaichiroHasegawa/items/4195cef3865b89589dd9)を参考にgemのインストール〜実行まで進めていった。
homebrew経由でgraphvizをインストールする。
“`:ターミナル
$ brew install graphviz
…
Disable this behaviour by setting HOMEBREW_NO_INSTALL_C
プロフィール画像の大きさを指定して、丸くする
調べていてなかなか出てこなかったので、少し時間かかりましたが備忘録までに。
# やりたいこと
プロフィールのアバター画像の大きさを指定して、形を丸くしたい。
“`.html
<% if @user.avatar? %>
<%= image_tag @user.avatar.url %>
<% else %>
<%= image_tag ("default-avatar.png") %>
<% end %>
“`このままだとアバター画像の大きさが“`avatar/uploader.rb“`で指定されている値で表示されてしまう。
また、画像が四角なのでアイコンっぽくない。↓
“`.html
<% if @user.avatar? %>
<%= image_tag @user.avatar.url, class: "rounded-circle", size: "150x150" %>
<% else %>
<%= image_tag ("default-avatar.png"), class: "rounded-circle", size: "150x1
【Bootstrap】ヘッダーをレスポンシブに横スクロール対応
# はじめに
ウィンドウを小さくすると、ヘッダーのレイアウトがくずれてしまう。
これを解決するために、Qiitaと同じように、表示部の幅を超えた所で横スクロールできるようにする。**完成図**
![responsive.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2684787/b243e006-57dd-7044-a9d9-4d7c90178c06.gif)# 前提
使用環境は以下の通りである。
| No | 項目 | 内容 |
|—:|————-|————|
| 1 | OS | Mac |
| 2 | Ruby | 2.6.3 |
| 3 | rails | 6.0.4 |
4|bootstrap-sass| 3.4.1
5|sass-rails|5.1.0
# 実装
https://csshtml.work/side-no
あり得ないエラー集(エラーが解決しないときには試してみよう!)
プログラミングをしていると時々、あり得ないエラー、予期していなかったエラーに遭遇することがあります。
今回は、そんなエラーを簡単にまとめてみました。調べても調べてもわからない場合は、ぜひ試してみてくださいね!① ファイルが更新されていなかった。
このエラーが疑われるパターン
-1, ファイルを変更しているのにもかかわらず、git statusを行っても全てup-to-dateと出てくる
-2, Gemfileの場合、bundle installなどを行ってもGemfile.lockに変更が保存されない、gem listを行ってもインストールしたものが出てこない。解決方法は簡単。一度タブを閉じて改めて開くだけ。
改めて開いたときに、変更したはずのものが記載されていなければ、エラーの原因はこれで確定です。②cloud9が原因。
【Rails】画像投稿機能の実装【Active-Storage】【Heroku】【S3】
# はじめに
Active Storageを使用して、画像投稿機能を実装する。
本番環境では、AWSが提供しているクラウドストレージサービス S3(Simple Storage Service)に画像データを保存し、Heroku環境で実行できるようにしたい。# 前提
| No | 項目 | 内容 |
|—:|————-|————|
| 1 | OS | Mac |
| 2 | Ruby | 2.6.3 |
| 3 | rails | 6.0.4 |# Active Storageについて
**これを使うと、ファイルのアップロードができるようになる。**
Railsガイド: [Active Storage の概要](https://railsguides.jp/active_storage_overview.html)から引用する。>Active Storageは、Amazon S3、Google Cloud S
【Rails】エラーメッセージを表示させたい!
# はじめに
文章を投稿するときに、空文字にしてエラーをバリデーションで検知、それをエラーメッセージとして表示させたい。# 前提
| No | 項目 | 内容 |
|—:|————-|————|
| 1 | OS | Mac |
| 2 | Ruby | 2.6.3 |
| 3 | rails | 6.0.4 |# 実装
# 1. バリデーションを実装
まず最初に、投稿内容にvalidationをかける。項目は空欄と5000文字以上。
“`言語名:app/models/post.rb
validates :content, presence: true, length: { maximum: 5000 }
“`# 2. コントローラーの設定
postコントローラーのnewアクションに、**current_userが投稿したオブジェクト(@post)** を渡す。これがエラーメッセージの情報を格納するための箱とな
Heroku CI で Postgres のセットアップに失敗するようになった
2022年8月からHerokuCIでのテスト実行時にデータベースのセットアップに失敗するようになった。
## 環境
– Rails 6.0
– Postgres (Heroku Postgres)## 事象
`heroku_ext schema` とは・・。
“`
rake aborted!
ActiveRecord::StatementInvalid: PG::RaiseException: ERROR: Extensions can only be created on heroku_ext schema
“`## 原因
2022年8月1日から、新しく作られる全ての Heroku Postgres データベースでは heroku_ext schema がインストールされる、というようなことが書いてある。
https://devcenter.heroku.com/changelog-items/2446## 対処法
ひとまず `schema.rb` の先頭を以下のように変更したところ失敗しなくなった。
この方法がなぜ有効なのかは調査中。“`diff
Railsの環境構築
# はじめに
Railsのインストール方法を下記のぺージをお手本にして行いました。
わからないことばかりなので、間違っていた際や改善点がありましたらアドバイスをいただけると幸いです。https://serip39.hatenablog.com/entry/2020/12/17/233500
## 要件定義
・EC2 (t2.micro) ←無料で使用できます。
・Amazon Linux2
・Ruby Ver 2.6.3
・MySQL Ver 5.7.32
・Node.js Ver 14.15.2
・Nginx Ver 1.18.0
・Rails Ver ~~5.2.3~~ 5.2.8.1# 更新処理を実行
“`
$ sudo yum update
“`gitのインストール
“`C++
$ sudo yum install git
$ git –version
git version 2.37.1
“`
## rbenv インストール
ディレクトリを作成して、そのパスを環境変数 RBENV_ROOT に設定します。
“`C++
$ sudo mk
【sampleメソッド】collection_selectで取得するデータをサンプルデータに取り入れる
# はじめに
seedsにform.collection_selectで取得するデータを保存する方法を紹介します。#### サンプルコードについて
ユーザーの新規登録には、name、email、password、prefecture_idが必要です。
prefecture_idは、Prefectureテーブル(47都道府県)からcollection_selectでデータを取得します。
### newアクション“`rb:/app/controllers/users_controller.rb
def new
@prefectures = Prefecture.all
@user = User.new
end
“`Prefectureテーブルから全レコード取得
### 作成フォーム
“`rb:/app/views/users/new.html.haml
%h1 Sign up
.row
= form_with(model: @user, local: true) do |f|
= render ‘shared/error_messag