Ruby関連のことを調べてみた2021年02月14日

Ruby関連のことを調べてみた2021年02月14日
目次

Gyazoでのスクショの仕方(初心者向け)

#概要
Gyazoをインストールし、Gyazoを使って画面をスクショをするまでの手順について説明しています。
Macを使い始めて間もなく、これからGyazoを使いたい人向けの記事です。

#実装の手順
①Gyazoをインストールする
https://gyazo.com/captures
にアクセスしてください。

「今すぐダウンロード」をクリックしてください。

左下にダウンロードしたファイルが見えたらクリックしてください。

動画のようにドラッグ&ドロップする。

![gyazo](https://user-images.githubusercontent.com/76093901/107865548-f773f700-6eaa-11eb-9b43-a4821b97850b.gif)

インストール完了です。

②Gyazoを探す
Launchpad(ロケットマーク)をクリックして、アプリの中からGyazoを選択します。

③動画のように、Gyazoで画面をスクショすると、専用ページが表れ、リンクをコピーします。
![gyazo2](https://user-images.gi

元記事を表示

【言語・フレームワーク考察】RubyとRuby on Rails

僕は、今後いろんな言語やフレームワークを学びたいと思っています。ですが、言語やフレームワークの種類が多すぎて、どれから学ぶべきか基準がわからず迷っています。

そこで、ひよっこプログラマーなりに持っている感想やイメージをまとめ、他にもネットで調べた特徴をまとめて「言語・フレームワーク考察」をして行きたいと思います。

# 気になっている言語・フレームワーク

**フロントエンド**

– Vue.js
– コンポーネントが便利らしい?
– React
– Vueよりももっと多機能?
– ElmとThe Elm Architecture
– [Medium](https://medium.com/javascript-in-plain-english/here-is-what-you-should-learn-after-javascript-b9dd41950887)で紹介されていた。動作が速く、ランタイムエラーがないらしい。
– CSS
– もっと深く知りたい。

**バックエンド**

– Ruby

Ruby on Rails

– 見た目が綺麗

元記事を表示

近隣の市町村の新型コロナ発生状況を可視化する

今回もオープンデータの活用その2です。
過去記事: [自分の町の避難所情報をGoogle Mapsに表示する](https://qiita.com/tsuruoka91/items/4713c2a0b4cf10c6a137)

緊急事態宣言中で外出もままならない日々を過ごしていると思いますが、それでも最低限買い物には行かなければ生活はできません。そんなある日、家族から「近所の小郡イオンと甘木イオンどっちが感染のリスクが少ないの?」と聞かれました。うーんどっちだろう?
というわけでオープンデータから近隣の新型コロナ発生状況を可視化して判断してみようと思います。

最初に断っておきますが、私は医者でも感染症の専門家でもないので、この結果を踏まえて何かを訴えたり警鐘を鳴らす意図はありません。

# オープンデータの取得

まず、新型コロナの発生状況のデータを取得します。

[リンク:福岡県新型コロナウイルス感染症陽性者発表情報](https://ckan.open-governmentdata.org/dataset/401000_pref_fukuoka_covid19_patients)

元記事を表示

アプリ開発実践入門3 Controllerとview 発展

今日の教科書

##ページ作成を発展させる

###リダイレクトとパラメータ送付
リダイレクト:別のアクションへの処理の転送
`redirect_to action: :アクション名 , params:[ハッシュ]`:
`action:`リダイレクト先のアクションを指定するオプション
他のコントローラのアクションに帰る際は`controller: コントローラ名`
`params:`で必要なパラメータを渡すことができる。
リダイレクトで新しいアクションを作ったら、ルーティングを忘れない。

###フォームの送信
####フォーム用にHTMLテンプレートを編集する。主に入力フィールドと送信ボタンを作る。
[

…… 入力・送信フォームを作る](http://www.htmq.com/html5/form.shtml)

“`
1

2 gitコマンドを使ったブランチ作成からマージまでの流れ(GitHub Desktopとの比較あり)

アプリ開発のバージョン管理に使うGitHubには、GitHub DesktopというGUIで操作できる便利なアプリがあります。

しかし、キーボードによるコマンド入力(CLI)で操作する方がGitHubの操作スピードが上がるため、ブランチ作成からマージまでの一連の流れを、一部GitHub Desktopの操作と比較しながらコマンドを覚えていきます。

注意:Ruby on Railsでの開発を前提としています。

##新しいブランチを作成する・ブランチを切り替える
###git branch
`git branch`は作成済みのブランチを一覧表示します。
現在選択されているbranchは先頭に’*’が付いています。

“`:ターミナル
git branch
first-branch
* master
“`
###git branch ブランチ名
新しいブランチを作成します。

“`:ターミナル
git branch second-branch master //masterブランチからsecond-branchを作成
“`
###git checkout ブランチ名
ブラン

元記事を表示

RailsとVue.jsでメールアドレスが登録済みか判定する方法

こんばんは
アロハな男、やすのりです!

今日は会員制のWebアプリ等でよく見かける『このメールアドレスは登録済みです。』みたいな表示を`Rails`と`Vue.js`を使って実装しちゃいましょう!
やり方さえわかれば、`Vue.js`じゃなくても`Ajax`を使えばできると思います!
※今回はRailsをAPIモードで使用しています。
※全てのコードを記述すると長くなるので、多少変更し必要最低限だけ記載します。

[![Image from Gyazo](https://i.gyazo.com/431906588bf28ae4e5d35af527a55c05.gif)](https://gyazo.com/9c5df29795912effdc40361203a39673)

#結論
Railsのコードが、

“`ruby:routes.rb
namespace :api do
scope :v1 do
post ‘/auth/check_email’, to: ‘users#is_registerd?’
end
end
“`
“`ruby:u

元記事を表示

管理者権限付与後、本番環境にrails db:seedをするまで(Active Storageも含む)

#はじめに
管理者権限の付与方法については以下記事に記載しております。

https://qiita.com/narimiya/items/8d21b18db9c75b1dde2d

#前提
●管理者権限機能は実装済み

●usersテーブルの情報

“`XXX_devise_create_users.rb

〜省略〜

t.string :email, null: false, default: “”
t.string :encrypted_password, null: false, default: “”
t.string :nickname, null: false
t.text :occupation, null: false
t.text :position, null: false
t.date :birth_day, null: false

元記事を表示

【Railsチュートリアル】第7章 ユーザー登録①

#第7章 ユーザー登録
##はじめに
###本章の目的
* ユーザー登録機能の追加
* HTML フォームを使ってWebアプリケーションに登録情報を送信
* ユーザーを新規作成して情報をデータベースに保存
* ユーザーを表示するためのページを作成
* 統合テストに対して、 いくつかのテストを追加

##7.1 ユーザーを表示する
本節では、ユーザーの名前とプロフィール写真を表示するためのページを作成していく。
ユーザープロフィールページの最終的な目標は、ユーザーのプロフィール写真と基本ユーザーデータ、そしてマイクロポストの一覧を表示すること。

###7.1.1 デバッグとRails環境
レイアウトにデバッグ情報を追加する。

“`ruby:app/views/layouts/application.html.erb
#もしRails.env.development(development=開発環境)だったらデバッグ情報を表示せよ
<%= debug(params) if Rails.env.development? %>
“`

####演習 1
ブラウザ

元記事を表示

Rails:モデルの命名規則を破ったらエラーが出ました【NameError】【uninitialized constant】

# Rails:モデルの命名規則を破ったらエラーが出ました【NameError】【uninitialized constant】

## エラー画面
![スクリーンショット 2021-02-13 20.56.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1101969/4aa01c8a-fb8e-ad61-ad86-f194dea72b5e.png)

### エラー説明
uninitialized constant:「定義したクラスを読むことができないよ」
(Railsでは定数やclassが定義されていないという意味のエラー)
NameError:「そんな名前は定義されてないよ」
(定義されていないローカル変数やメソッドが呼び出されている場合に、発生するRubyのエラー)

## 原因
classの命名規則が正しくできていなかった

誤:「Deliver_fee」
正:「DeliverFee」

## RailsのDBモデルの命名規則
### 単語が1つの場合
例)モデルの名前が「Deliv

元記事を表示

Jupyter Notebook で Ruby が使えるってま!?

# 概要
会社でRailsを使って開発をしている関係でRubyのコードを試したいことが多々ありました。
Paizaとかブラウザで実行できるものもあるがPythonみたくJupyter notebookでできないかなと思っていました。

そこで調べるとRubyをJupyter notebookに入れることが出来ることが判明(゚∀゚) 実際に導入する手順がわかったので今後PCが壊れたときのためにインストール方法をメモします。

# 条件
| 言語 | ver |
| —- | —- |
| Ruby | 2.10 以上 |
| Jupyter Notebook | — |

※Ruby と jupyter notebookの道入がまだの人は以下の記事よりそれぞれのインストールを済ませて下さい。

・Rubyのインストール
[【完全版】MacでRails環境構築する手順の全て](https://qiita.com/kodai_0122/items/56168eaec28eb7b1b93b)

・Jupyter Noteboookのインストール

① ana

元記事を表示

Rails6 herokuでデプロイ

# 初めまして
私は、オリアプを作成しており、そのうちの何個かはherokuでデプロイしています。
そこで、herokuでデプロイする方法を備忘録として残したいと思います。

# 環境
Rails6
Ruby2.6.5
# Herokuを操作します。

まだ、Herokuをインストールしていない方は、どのディレクトリでもいいので下記を実行しましょう。

“`terminal
% brew tap heroku/brew && brew install heroku
“`
## Herokuへログインします。
まだ、Herokuの登録ができていない方は、先に登録してくださいね。

“`terminal
# Herokuへログインするためのコマンド
% heroku login –interactive
=> Enter your Heroku credentials.
# メールアドレスを入力し、エンターキーを押す
=> Email:
# パスワードを入力して、エンターキーを押す
=> Password:

“`

## Heroku上にアプリケーションを作成し

元記事を表示

【Ruby on Rails】返すデータに制限をかけたりかけなかったりするために、七つのアクション以外を定義するのはやめよう…

#なぜ書くか
これまたコードレビューの際にご指摘いただきました。
備忘録と、コツコツとプロの開発者としての思考を身につけるためにアウトプットさせていただきます。

#脱「動けばいい」精神
まず、前提としては、RailsはApiでのやり取り専用のコントローラ。
iOSアプリケーションからリクエストを受け取り、それぞれのリクエストに応じた処理が実行されます。

実際に問題となった機能を実装する前は、コントローラは下記の様な状態でした。(コードは多少変更しています。)

“`ruby
module Api
module V1
class ProductController < ::Api::ApplicationController protect_from_forgery except: [:create] def index render json: Product.trader_filter(params[:trader_id]) end def create render json: P

元記事を表示

[Rails]gretelとパンくず(パンくずリストの作り方)

# 何を書くのか
railsのgem “gretel”を用いたパンくずリストの作り方

## 環境
Rails: 6.0.3.4
Ruby: 2.6.5

## 結論
gretelの力でパンくずを作成し、それをビューで表示する。

## パンくずリストとは
![スクリーンショット 2021-02-13 午後6.34.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/948673/5c2e7b41-7b46-8e9f-df2f-a186b2b20577.png)

こういう風に、ヘッダーなどに「今どこどこにいますよ!」っていう表示を見た事があるでしょうか。これを**パンくずリスト**と言います。今回は、これを作成していきます。

## gretelの導入
今回使うのは、gemのgretelです。
[gretelのGithub](https://github.com/kzkn/gretel)

最初に、gretelの導入を行います。

Gemfileに記述し、bundle installします。

“`

元記事を表示

【Rails】Zeitwork::NameError を解消する

###1.はじめに
railsでアプリを作成し、サーバーを立ち上げ`rails s`を行い、`http://localhost:3000/XX`にアクセスしました。
すると、`Zeitwork::NameError`と表示されました。

###2.使用環境
・mac.os バージョン10.15.6
・Ruby 2.6.6
・Rails 6.0.3.5
・psql (PostgreSQL) 12.6

###3.実際のエラー
Zeitwerk NameError.png

太字に着目するとPostsContrlllerの定義が変という旨が書かれていますね。

###4.結論:スペルミスでした
ということで`Postscontroller`クラスの記述をしている`posts_controller.rb`を確認すると.

元記事を表示

【Rails】rails s したらAddress already in useのエラーが出たので解消する

###1.はじめに
railsでアプリを作成し、サーバーを立ち上げ`rails s`を行い、動作確認を試みました。
すると、`Address already in use`と表示されました。

私:「`http://localhost:3000`複数立ち上げてないはずだけど…」
複数回このエラーに遭遇したため、備忘録も兼ねてまとめていきます。

###2.使用環境
・mac.os バージョン10.15.6
・Ruby 2.6.6
・Rails 6.0.3.5
・psql (PostgreSQL) 12.6

###3.実際のエラー

“`ターミナル.
1: from /Users/hogehoge/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/puma-4.3.7/lib/puma/binder.rb:229:in `new’
/Users/hogehoge/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/puma-4.3.7/lib/puma/binder.rb:229:in `ini

元記事を表示

【Window限定】Rubyのコードをexe形式で出力する

調べてみたところ、あまり活発ではない手法のようです。

Mac用に書き出せたりもしないので
JavaScriptでElectonとかを使ったほうがスムーズかもしれませんね。

ただ、Rubyを使うだけでexe形式の何かを作れるのは良いと思いました。

“`
> ocra .\sample.rb
“`

さて、雑に上記のようにしますとexe生成には成功しますが次のようなエラーが発生して起動しません。

![スクリーンショット 2021-02-13 14.58.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/6678/f0c1b9c0-30c7-9e78-ab8a-6490e633bd69.png)

> ruby_buiktin_dlls\libssp-0.dll was not found

これを解消しなくてはなりません。

“`
> ocra .\sample.rb –dll ruby_builtin_dlls\libssp-0.dll
“`

これで解決です。

次に ocra は

元記事を表示

railsアプリをcapsitranoでdeployする時に自動でseedを実行する。けど必要な時だけする。

# 本記事のサマリ
capistranoでrailsアプリをdeployする際に、自動的にseedを流すようにすると、deployの運用的には楽になるが、seedの実行時間が待たされるので、seedファイルが描き変わった時だけ動くように工夫するといいかもという話です。

### 対象読者
– capistranoをつかって、railsアプリをデプロイしており、seedの実行は手動でやっているような方
– seedの実行をcapに任せているが、毎回時間かかっているような方

### 動作確認バージョン
“`
Capistrano Version: 3.11.2 (Rake Version: 10.3.2)
Rails 5.1.6
ruby 2.6.6p146 (2020-03-31 revision 67876) [x86_64-darwin18]
“`

### 経緯
capistranoでデプロイする際に、seedの実行は変更があったときに、手で実行するのは、面倒です。
なので、そういったものは、自動的にやるようにしたいというのが、怠惰なプログラマな正常な欲求です。
でも、自動的

元記事を表示

Railsポートフォリオ作成 #3 DB設計

こんにちは:smiley:
今回はDB設計を行いました。[(前回記事(#2 画面設計))](https://qiita.com/yanoo/items/f3bf4e180534a1c2a4a7)

私は、前職(ホテルの料飲部)における、コミュニケーションの課題を解決するアプリを作っているのですが、今回は、

## DB設計を行いました
ER図はこんな感じになりました。
![スクリーンショット DB.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1097768/ac5a0142-8048-d64d-cce5-4f13d90d34f2.png)

## 感じたこと
+ 抜け漏れをなくするのがとても大変
今回私にとっては、今までにない数のテーブルが登場したため、マインドマップを使い、抜け漏れがないようにと意識しながら、機能、テーブル、カラムを洗い出しました。
しかし、おそらく抜け漏れがあって、後から泣くことになるだろうなあという感じです。。。
+ ER図を見やすく構成するのが大変
まず全てのテーブ

元記事を表示

RubyonRailsでRSpecによるテストコード実行手順メモ

初Qiita投稿で緊張しますが、自分用メモなのであんまり気張らずに書くようにします。
RubyonRailsでRSpecを使ってテストコード実行するときの簡単な手順メモです。
間違ってたり足りない部分があったら適宜アップデートします。

1. Gemfile内のどこの行でもいいので gem ‘pry-rails’ を追加する。 ※たいていは一番下に追加
2. Gemfileの group :development, :test do 内に下記2行を追加する。
   gem ‘rspec-rails’
   gem ‘factory_bot_rails’ ※FactoryBotを使わない場合は不要
3. ターミナルで bundle install を実行してGemを使えるようにする。
4. ターミナルで rails g rspec:install を実行してRSpecを使えるようにする。
5. .rspecファイルに –format documentation を追加してテストのログを見やすくする。
6. ターミナルでrails g rspec:model [モデル名] を実行してモデ

元記事を表示

ActiveResourceを使ってRailsアプリ同士をAPI連携させる

ActiveResourceを使う機会があったので、使い方を備忘録として残します。

##ActiveResource とは
簡単に言うと、Railsアプリケーション同士を簡単にAPI連携させる機能です。

フロントとバックを分けて実装したい時に使います。

##バック側の実装
実装
apiモードでアプリケーションを作成しています。

“`
$ rails new back –api
$ cd back
$ bin/rails g scaffold bookmark title:string url:string comment:text
$ rake db:migrate
“`

起動

“`
$ rails s
“`

##フロント側の実装

実装

DBは使わないのでmigrationを削除しています。

“`
$ rails new front
$ cd front
$ bin/rails g scaffold bookmark title:string url:string comment:text
$ rm -f db/migrate/*
“`

モデルク

元記事を表示

OTHERカテゴリの最新記事