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

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

備忘:MySQLでデータベースの中身を確認する方法

よく忘れて、探すので備忘

本当にデータが登録されているかとかで使う

##まずはターミナルからMySQLに接続する

ルートで接続

“`sql
mysql -u root
本当は危険
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 276
Server version: 5.6.51 Homebrew
“`
参考
https://www.dbonline.jp/mysql/connect/index3.html

##データベースを選択する

“`sql
use cooklog;

Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
“`
使うデータベースがわからない場合は
`databese.yml`で確認

元記事を表示

【FC版】React + Rails API + axios + react-router-domでCRUDを実装する

こんにちは!スージーです。
以前書いた[こちら](https://qiita.com/suzy1031/items/9046069ce007d555f219)の記事はClass Componentで書いた記事だったので、関数コンポーネント(Functional Component)で書き直してみました。関数コンポーネントで書くにあたり、[hook](https://ja.reactjs.org/docs/hooks-intro.html)を使って実装します

## やりたい事
CRUD(新規作成・一覧表示・詳細表示・更新・削除)を実装します

## やらない事
– ログイン周りの実装
– Rails側
– アソシエーションを使ったモデルのリレーション
– モデルバリデーション
– CORSの説明
– React側
– クライアントバリデーション
– hooksの説明
– css
– その他
– コマンドの説明
– SQLの説明
– ログの説明

こんな書き方すればReact × Rails APIでCRUDが実装で

元記事を表示

[Rails]seedファイル使い方

今回はRailsで開発を行っていく中で、便利な機能`seedファイル`の使い方について解説していきます。

きっと便利に開発を進められるので、参考にしてみてください。

#seedファイルとは

開発段階のデータ作成方法として、実際にcreate機能を実装してからアプリを操作してデータを作る方法や`rails c`からデータを作成する方法などがありますが、どちらも大量のデータを作ろうとすると正直めんどくさいです。。

そこで使われるのが`seedファイル`です。

seedファイルのメリットとして、

– 開発段階で動作確認用に初期データを入れられる
– データベースをリセットしても、seedファイルに入っている初期データは再び使える
– 一度に大量のデータを作成できる

というメリットがありますので、開発するときに便利なので、知っておいて損のない機能となってます。

初期データとして管理者のデータも入れられるので、管理者が必須なアプリの場合は、使う場合が多いです。

#初期データ作成

では、実際に初期データを作っていきます。

seedファイルはデフォルトで搭載されていて、`dbデ

元記事を表示

【Rails】複数画像投稿機能の導入

# 目的
Railsで作成したアプリに複数画像投稿機能を導入する。

# 開発環境
macOS: *Big Sur*
Rubyバージョン: *2.6.5*
Railsバージョン: *6.0.0*

# 前提

– アプリ`test-app`が作成されている。
[【Rails】簡単な投稿アプリの作成](https://qiita.com/oak1331/items/18a4f3a3386aab0fa354)
– 画像投稿機能が導入されている。
[【Rails】画像アップロード機能の導入](https://qiita.com/oak1331/items/81c7d925e25d0e6fa629)

# 手順

1. [はじめに](#はじめに)
1. [アソシエーションの設定](#アソシエーションの設定)
1. [ストロングパラメーターの定義](#ストロングパラメーターの定義)
1. [画像投稿ページの編集](#画像投稿ページの編集)
1. [画像表示ページの編集](#画像表示ページの編集)

# はじめに

今回は複数画像投稿機能を実装していきます!

# アソシエーションの設定

まずは

元記事を表示

ローカルにおけるrubyとrailsの環境構築

実際の開発業務に参加した際に、ローカルでrubyとrailsの開発環境をセットアップして、苦労したのでその軌跡をまとめておく。
なお今回のインストールするバージョンは以下の通りである。

ruby 2.7.1
rails 6.0.3
mysql 5.7

## 参考記事

https://qiita.com/is-lab/items/e0443b79da117ed48294

[Rails]Macでrails sを立ち上げる場合

https://weblabo.oscasierra.net/mysql-57-homebrew-install/

https://teratail.com/questions/330012

### Homebrewのインストール

“`
– MacにHomebrewをinstallする
$ /bin/bash -c “$(curl -fsSL )”

– Homebrewのupdateの準備
$

元記事を表示

Railsのscssで画像のパスを指定できていなかった話

# やりたかったこと

li要素の「・」を自前の画像に変えてサイズを調整したかった

# うまくいかなかったこと

いくら画像を指定してもliの・が自前の画像に変更されない。

#試したこと

cssでliの・を画像に変更する方法をググって以下の方法を試した

“`
background-image:url(“画像ファイルの相対パス”)
background-repeat: no-repeat;
background-size: 20px;
background-position:left center;
“`

liの・を画像に変えることは可能だが、それだと画像サイズの変更ができないためliの背景画像として表示させた。(かった)

# 解決

原因は画像ファイルをCSSのurl関数にscssファイルからの相対パスで指定していたこと。
scssはそのままcssとして読み込まれるのではなくコンパイルされてcssになる様なのでこの書き方だと画像が見つからない(エラーも出なかったので気づかなかった)
正しい書き方はこう railsのヘルパーメソッドimage-urlを使う

“`
ba

元記事を表示

[Ruby]layoutsファイルと7つのアクション

# はじめに
本記事は、本日私が理解できていなかった
「layouts」ファイルの中身について書きました。
今回は、これに何時間もかかりましたので、備忘録として投稿します。

# layoutsファイルには
具体例

“`ruby



省略

元記事を表示

meta-tagsについて

# Gem meta-tags について

今回SEO対策として何か実装したいと考えて調べてみた所、meta-tagsというGemを知りましたので、実際に使ったので備忘録として記入したいと思います。

#meta-tagsの導入

“`routes.rb
Gem ‘meta-tags’
“`

bundlerでインストール

“`ターミナル
bundle exec
“`

これで導入完了です

# 各種設定

上記の作業を正常に完了してれば“`config/initializers/meta_tags.rb“`という感じにファイルが生成されています。
meta-tagsの内容は下記の通りです。

“`meta_tags.rb
# Use this setup block to configure all options available in MetaTags.
MetaTags.configure do |config|
# How many characters should the title meta tag have at most. Default is

元記事を表示

Active Storageの導入

#Active Storageとは?
ファイルアップロード機能を簡単に実装できるGemです。

ActiveStorageを導入しただけではファイルをアップロードできるようになるだけです。

保存した画像を画像を加工してから(サイズや色など)表示できるようにするには以下の画像加工ツールとgemが必要になります。

## ImageMagick
コマンドラインから画像に処理を加えることができるツールです。
処理としては、画像の作成やサイズ変更、保存形式の変更などがあります。

ImageMagickはGemではなく、ソフトウェアです。
そのため、Homebrewからインストールします。

GemではないImageMagickをRubyやRailsで扱うには、MiniMagickというGemが必要となります。

## MiniMagick
ImageMagickの機能をRubyで扱えるようにしてくれるGemです。
RailsでImageMagickを扱うために必要となります。

MiniMagickによって、ImageMagickの機能がRailsで使用できるようになりますが、画像サイ

元記事を表示

【Rails】ポートフォリオ

# E-tripp

e-trrip_readme

# ?はじめに
 今回のこのポートフォリオは**転職を目的**として作成しました。ただ作成するのではなく、**現場を意識してdevelopからブランチを切り最後にmasterでデプロイをする開発工程**で行いました。

 また、だらだら作っていてはいつまで経っても転職活動ができないと考え、自分で**納期日(完成予定日)と、工程をAプラン(終わったら転職活動スタート)・Bプラン(転職活動中)と分けて取り組む**ようにしました。以下はAプランの実装で、制作期間は**約1ヶ月**です。

#?制作背景
### **課題**
– 旅

元記事を表示

【Rails6】カスタムフォントの導入方法

開発中のRailsアプリでストップウォッチのフォントが普通すぎてダサいな〜と思ったのでカスタムフォントを導入しました。
知識定着のためにアウトプットします。

##環境
Rails 6.0.4
Ruby 2.6.5

## 好きなフォントをインストールして配置します。

私は「[DSEG](https://www.keshikan.net/fonts.html)」というデジタル時計をイメージしたカスタムフォントをインストールしました。

▼こんな感じです
![test](https://gyazo.com/306d9154e4ca78b9d6e8125d03d3b647/raw)

ファイルインストール後に、“`app/assets“`にfontsというフォルダを作成します。
その後、fontsフォルダにインストールしたファイルを配置します。

![test](https://gyazo.com/f35e9f3c2ca144f6e40a3e10cd700be7/raw)

## application.scssにインストールしたファイル名などを記述してCSSで参照できるようにしま

元記事を表示

Railsで架空のCafeのHPを作ってみよう!【12日目】『特定のデータの取得(active:hashの属性値)』編

#概要
基本Railsの記法に則り書いていきます!
1から全ての説明ではなく
その中であれ?どうやるの?と
疑問に思った点や実装に困った箇所を
ピックアップして紹介していきます♩

#設定と準備
・Rails
・HTML
・CSS
・Javascript(jQuery)

↑上記の言語とフレームワークを使い
架空(自分で考えたテキトーなもの)のCafeの
HPを作っていこうと思います!

#12日目の作業内容:round_pushpin:
・ビューの作成(トップページに特定の情報を表示)

#12日目の気になった箇所:zap:
特定のデータの取得でカラムごとの取得はできたが
属性まで指定できるのだろうか。

#仮説:pushpin:
カラム別に取得する場合は
(testテーブルのoptionカラムだけ取得したい場合とする)

“`samples_controller.rb
@test_option = Test.select(‘option’)
“`
このような形で取得することができる。
(取得の仕方は複数存在します)

似たような形で属性まで指定できないか試してみる。

Test

元記事を表示

[Ruby]文字列(String)のtrue、falseをBoolean(TrueClass、FalseClass)へ変換

rubyでture、falseの入力を文字列(Stirng)として受け付けたとき、Boolean型のtrue、falseとして扱うために変換するコードを紹介します。

## 前提
Rubyでは**nillかfalse以外をtrue**として扱います。
そのため、文字列のfalseを条件文に利用すると、論理値としてはtrueになってしまいます。

“` false.rb
bool = gets
p bool.class

if bool
p “Trueです!”
else
p “Falseです!”
end

=====入力・出力結果=====
false
String
“Trueです!”
“`

## String→Booleanの変換コード、動作の紹介
文字列のtrue、falseをBooleanに変換する方法を早速紹介します。

“` string→boolean変換.rb
class String
def to_bool
# 関数の呼び出し元文字列がtureだったらBoolean型のtrueを返す
if self =~ /(true|True|TRU

元記事を表示

EC2にRailsアプリをデプロイ④ ~EC2でRailsを起動させる設定~

##はじめに
これは前回の記事の続きです。
今回はEC2でRailsアプリを起動させるための設定をしていきます。

よろしくお願いします。

##ssh鍵をGitHubに登録

アプリケーションのコードをGitHubを使ってEC2サーバにクローンします。
しかしながらEc2サーバにアプリをクローンしようとすると、GitHubは誰のEc2インスタンスかわからないのでssh公開鍵をGitHubに登録し、それを認証として利用してクローンwp許可してくれるようになります。

それでは下記のコードでssh鍵のペアを作成し、GitHubにssh鍵を登録していきます。
EC2にログインした状態で実行します。

“`terminal:ターミナル
[ec2-user@ip-172-31-23-189 ~]$ ssh-keygen -t rsa -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ec2-user/.ssh/id_rsa):
Enter passphrase

元記事を表示

Railsでサイトを作成する下準備までの大まかな手順

#  記事の目的
 Cloud9にてECサイトを作るにあたって「何から始めればいいんだっけ?」と思いQiitaを含めて何回か参照していましたが、流れがまとまらなかったので自分用の備忘録として記載します。参考までに。
 本当に大まかにまとめたので、詳細箇所については別途追記するかもしれません。

# ECサイト作成前に準備すること。
 個人製作の場合は必ず必要というわけではないですが、作成する前に作っておくと後々サイトを作りやすいです。
Cacooというサイトであれば両方作成できるので、おすすめです。
####・ER図
####・ワイヤーフレーム
####・GitHubの連携
####・ImageMagickのインストール

# ファイル・モデル・コントローラーの作成
####①ファイルの作成
※Cloud9にて諸々の初期設定が終わっていること。これに関しては個人の設定に左右される。
ターミナルを開いて、下記を入力しファイルを作成する。
(例)として、ファイル名を「Illusters」というアプリを作るものとします。

“`
【ターミナル】
~$ rails new ファイ

元記事を表示

config gem と dotenv-rails gem を共存させるときの ポイント

Rails での開発では、以下の2つのgemを使い分けたり、併用して設定情報を管理する方が多いかと思います。

– config gem
yaml 管理
– dotenv-rails gem
.env(及び環境変数) での管理

ですが、「設定情報を、 yaml に記載したのか、.env(及び環境変数)に記載したのか?」と分からなくなり手が止まる瞬間があります。
なので、最近は config gem を介して .env を参照するようにして、設定情報の参照先を一本化しています。
その中で、以下の 2 つのポイントのどちらかを押さえておかないとエラーになることを確認したので、共有します。

# 実行環境

– Ruby 3.0.0
– Rails 6.1.4

# 前提

読み込みの対象になる yaml と、.env ファイルは以下のものになります。

“`yaml
# config\settings.yml
comment: これはテスト用アプリ

# .envに記載した環境変数 SAMPLE_API_KEY の内容を読み込む
sample_api_key: <%=

元記事を表示

[Rails]Twitterシェアボタンは超かんたんに実装できる

色んなサイトで見かけるTwitterのシェアボタン実は、超かんたんに実装できます。

まじですぐ実装できるので、記事が短くなりすぎてしまいそうで不安ですw

# こんな感じ

![スクリーンショット 2021-07-26 10.22.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1554142/3de3572b-269c-7b05-f9e6-2733d6637d60.png)

シェアボタンを押すとこんな感じで、Twitterに飛びます。

![スクリーンショット 2021-07-26 10.24.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1554142/ae9349f0-662b-d33e-40c7-870e7cf7f3da.png)

かんたんにシェアできるので便利ですね〜

[ポートフォリオサイト](https://oogiri-legendroad.com/)のせておきますので、どんどんシェアして

元記事を表示

【RSpec】リクエストスペック実装(備忘録)

## はじめに
PFで基本実装がある程度進んだので、そろそろテストの実装もやってみようと実装開始した際に、かなり苦戦して、メンターさんにアドバイス頂きながら実装したので、備忘録として残します。(初歩的な内容です。)

## 開発開発
Mac
Ruby 2.7.2
Rails 6.1.3.2

## 前提条件
– RSpec・factory_bot_rails・ Fakerは導入済み
(わからない方は、参考記事→[RailsでのRSpecの設定やら書き方とかいろいろ](https://qiita.com/sibakenY/items/2c97e3cfdc54e474c4f2))
– エクササイズの情報(exercise:外部キー)をもつ、記事(article)投稿アプリ(Twitterのような投稿アプリにカテゴリーが選択できるイメージです。)

## 現状
– 新規投稿(create)で、「パラメーターが正常な時、リクエストが成功する」テスト実行中。テストでは、「302を予想していたけど、200です。」と弾かれ、実際の挙動では、投稿した際のログでは、「302」となっている現状(⭐の部分

元記事を表示

過去7日間の投稿をグラフ表示 Chartkick Turbolinks無効化

やりたいこと

過去7日間の投稿数を取得し、折れ線グラフで表示する.
グラフが表示できなかったり、12日分表示してしまったり・・・ととにかく大変でした。
そもそもJavascriptの知識が浅いため、、難しかったです。

![スクリーンショット 2021-07-26 8.51.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633266/2f664058-26d2-a516-6794-4ad749daea46.png)

7日間の投稿データ取得

前回作成した記事と同様です。グラフ化が大変だったのでここはサクッと行きます:anchor:

https://qiita.com/ki_87/items/cbfdb803355ba4e4fe55

違う点は、、
コントローラーに記述しなくても、モデルで定義した値をviewで使用できるということです。

7日間の投稿データ取得

“`perl:models

元記事を表示

railsのコントローラーでAPIの必須項目の入力チェックする

railsのコントローラーでAPIの必須項目が入力されているかチェックする方法です。
どんなケースで使うのか具体的な使い方を書いていきます。
rails guideには以下の説明がされています。

> In addition, parameters can be marked as required and will flow through a predefined raise/rescue flow that will result in a 400 Bad Request being returned if not all required parameters are passed in.

https://guides.rubyonrails.org/action_controller_overview.html#strong-parameters

## サンプルコード

“`ruby
class UserController < ApplicationController rescue_from ActionController::ParameterMissing,

元記事を表示

OTHERカテゴリの最新記事