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

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

Rails+docker環境構築でyarnが上手くインストールできない

## 概要
Rails6系とdockerで環境構築する際に詰まったので、その原因と解決方法についてを書いています。

## 事象
– dockerfileを使って、docker環境にRailsサーバを立てようとした。
– その際、Railsを使う際の環境要件としてYarnが必要となるが、上手くインストールできなかった。

webpackerをインストールしようとすると…
“`
RUN bundle install && rails webpacker:install
“`
バージョン1以上2以下のyarnが必要ですという下記エラーが発生。
“`
Webpacker requires Yarn “>=1 <2" ``` apt-get installでインストール済みと想定したが、上記エラーにより上手く入っていないことが分かった。 ``` RUN apt-get install -y yarn ``` ## 原因 - yarnのバージョンが古い エラー文の内容をヒントにして原因をググってみたところ、yarnのバージョンが古いと今回のようなエラーが発生するそう。 ## 解決方

元記事を表示

Railsの {OO: :OO} これ何⁇ {OO: OO} とどう違う?

# Railsによく出てくるシンボル、ハッシュについて
## 結論
`{OO: OO}`は、ハッシュのキーとしてシンボルを用いた形である。
そして、
`{OO: :OO}` は、キーがシンボルで値もシンボルであるハッシュのことを指している。
これについて以下で詳しく調べてみる。
## シンボルって何?
文字列の先頭に`:(コロン)`がついているオブジェクトのことを指す。
Stringオブジェクトが文字列を表すのに対して、Symbolオブジェクトは名前を表すものと理解しておく。
##### 1 シンボルは書き換えられない
文字列は書き換えることができるが、シンボルは変更不可である。
##### 2 同じobject_idが割り当てられる
シンボルは同じobject_idが割り当てられるので、以下の通り2つのオブジェクトは同一である。しかし、文字列は2つのオブジェクトは等しいが同一ではない。
“` ruby:ruby
# 文字列
“foo1” == “foo1” #=> true
“foo1”.equal? “foo1” #=> false

# シンボル
:foo1 =

元記事を表示

【Rails】データベースを元に戻す方法

# はじめに
Railsでアプリを開発しているときに、、
やっばっ!!間違って「rails db:migrate」しちゃった!!:cloud_lightning:

ってときありますよね。

そんな時に使える「元に戻す方法」を伝授します:older_man::sparkles:

# 元に戻す方法

### マイグレーションの変更を元に戻す
“`
$ rails db:migrate
# を元に戻したい場合は、、

$ rails db:rollback
# とすればOK!
“`

ちなみに、最初の状態に戻したい時は
“`
$ rails db:migrate VERSION=0
# とすれば戻ります!
“`

## その他、元に戻す方法

### コントローラー
“`Ruby
$ rails generate controller StaticPages home help
# 生成したコントローラーを元に戻すには

$ rails destroy controller StaticPages home help
# として削除すればOK!
“`
コントローラー名、アク

元記事を表示

【備忘録】Herokuでのデプロイの流れ

こんばんは、だいごです。
今回は、Herokuでのデプロイの流れを簡単にまとめていきます。
Herokuのコマンドがメインなので省力するところもあります。
よかったらみてください。

## 予備知識
デプロイ
ネットワークを通じてWebアプリケーションなどのシステムを公開し、利用可能な状態にすること。

CLI
コンピュータに対してキーボードからコマンドという文字を打ち込んで操作を行う仕組み。

– **credentials.yml.encファイル**
Railsにて、外部に漏らしたくない情報を扱う際に用いるファイル。
通常時は、英数字の文字列で構成された暗号文が表示され、ファイル内に何が書かれているのか分からない。
master.keyが存在する場合、ファイル内の記述を確認できる。

– **master.keyファイル**
credentials.yml.encファイルを復号する鍵の役割を持ったファイル。
特定のcredentials.yml.encファイルと対になっているので、その他のファイルでは効果を発揮しない。
また、重要なファイルである

元記事を表示

saved_change_to_{カラム名}?について

## saved_change_to_{カラム名}?
あるカラムの値が変更されたときに何らかのメソッドをコールバックする際によく使われるメソッドです。

例えば、以下のように書くとします
“`
validate :validate_change_name, if: :saved_change_to_name?

def validate_change_name
p “名前が変更されました”
end
“`
このようにすることによって、“`name“`カラムの変更されたあとの処理を書くことができます

【参考資料】

https://masarufuruya.hatenadiary.jp/entry/2020/05/08/093857

元記事を表示

LaravelとRailsのコマンド集(両者の比較)

# LaravelとRailsを比べる
LaravelとRailsは兄弟フレームワークのような存在で
コマンドや環境、特徴は違うけど本質的な部分は同じです。

RailsからLaravel、またはその逆で学習、仕事する人の参考になれば嬉しいです。

# 有益な記事
有益そうな記事がありました。
Railsは見つかりませんでした。汗

⚫︎Laravel

https://qiita.com/shimotaroo/items/6a909797e0139517b1bd

下でもコマンドは紹介します。最低限知っておいた方がいいコマンドです。

# サーバーの起動

⚫︎Laravel
“`
$ php artisan serve
“`

⚫︎Rails
“`
$ rails s
“`

## バージョンの確認
⚫︎Laravel
“`
$ php artisan –version
“`

⚫︎Rails
“`
$ rails -v
“`

## コマンド確認
コマンドを調べる時に使います。

⚫︎Laravel
“`
$ php artisan list
“`

⚫︎

元記事を表示

Uncaught ReferenceError: $ is not defined Rails6

Rails6で非同期処理がうまくいかなかったので備忘録。

:::note alert
Uncaught ReferenceError: $ is not defined
:::

##### 原因としては
・jQueryがうまく読み込めていなかった。
・Rails6でのjQuery導入ができていなかった

:writing_hand:参考にした記事

Introducing jQuery in Rails 6 Using Webpacker

#### 導入方法

“`
$ yarn add jquery
““

config/webpack/environment.js
javascript/packs/application.js
に下記を追加

“`environment.js
const { environment } = require(‘@rails/webpacker’)

//追加部分
const webpack = require(‘webpack’)
enviro

元記事を表示

【rails入門】ページのスクロールに合わせて要素を動かす!

# 完成したこんな感じ
![scroll.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2586059/f51bc88d-cda0-6d18-927e-7cfba53be42f.gif)

スクロールに応じて要素を左右に動かす!

# コード
“`html:index.html

My name is Naoya.

GeekSalon Fukuoka