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

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

Ruby on Rails6でのjQueryの実装方法(Windows10 + 仮想環境)

Rails5までの実装方法を試してみてもjQueryが動かなかったので調べてみると、
Railsのversionが上がり、Rails6になってからはjQueryの実装方法が変わったようなので、
自分の勉強もかねて、読んでくださる方々に共有させていただきます。

※プログラミング初心者ですので、おかしい点などがありましたら指摘してもらえると助かります。

## 開発環境
– 使用PC:Windows10
– 仮想環境:vagrant + CentOS7
– テキストエディタ:VSCode
– Ruby version:ruby2.5.8
– Rails version:6.1.1

## 実装したい環境

Ruby on Rails6での環境でjQueryを実装したい

## 目次
1. jQueryインストール
2. application.jsのファイル先の変更
3. Webpackの設定
4. application.jsの設定
5. 外部ファイル作成

#### 1. jQueryインストール
Rails5までのverでは、GemfileにjQueryを記載して`bundle

元記事を表示

bundleやgemが遅いと思ったらIPv6を切っていたからだった

## TL;DR

bundleが遅いと思ったらIPv6が切れていた。

## 環境

Zorin OS 15.3 (Ubuntu 18.04相当)

“`
> bundle install
Fetching gem metadata from https://rubygems.org/.

元記事を表示

RubyGems の作成・公開手順【Ruby 2.6】

今回 RubyGems にライブラリを公開しました。その作成・公開の手順をまとめます。

# 環境

* Ruby 2.6.4
* Bundler 2.2.6

# 手順

大まかな流れは「[【Ruby】gemの作り方から公開まで](https://qiita.com/9sako6/items/72994b8b1c00af4e61fe) :lgtm:」を参考にさせていただきました。こちらで非常に良くまとめられているので、以下では手順をザッと列挙していきます。

## 作成

### プロジェクトの準備

bundler の更新後、次のコマンドで gem の雛形を作成します。

“`
bundle gem [YOUR_GEM_NAME] -t
“`

自動生成のために設定を色々と聞かれます。

#### Test framework

“`
Do you want to generate tests with your gem?
.
.
.
Enter a test framework. rspec/minitest/test-unit/(none): rspec
“`

###

元記事を表示

MVCモデルについて

学習を始めてしばらく経ったので復習をかけてアウトプットします。

# MVCモデルとは

モデル(Model)の頭文字の「M」、ビュー(View)の頭文字の「V」、コントローラー(controller)の頭文字の(C)から「MVC」と呼びます。
それぞれの役割ごとにModel, View, Controllerに分割して作業を行います。
それぞれの持つ役割とは,

– Model –> アプリの中で扱うデータを保持、操作、システムの設計や機能をどうするか決める

– View –> HTMLなどの実際の見た目を司る部分。受け取ったデータを表示したり、入出力といった機能を処理する

– Controller –> ユーザーからのリクエスト(入力)に基づき,ModelとViewを呼び出して処理し、その結果を返す

概念図としては次の図1のようになります。(大枠)
図1
![MVC.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/723715/90dd5bf2-e0bf-6d72-bb87

元記事を表示

初めての投稿

今日から本格的にプログラミングの勉強を始めました!
分からない事だらけですが挫けず継続します

初日 ゼロからわかるRuby超入門 P.100まで!

元記事を表示

slickを用いた画像スライド

# [概要]
1.結論
2.なぜslickを使うのか
3.完成形
4.どのように使うのか
5.ここから学んだこと

# 1.結論
slickの公式サイトからダウンロードして実装する

# 2.なぜslickを使うのか
簡単に実装できるからです。具体的にいうと公式サイトからファイルをダウンロードをして、必要なものを自分のフォルダの中に挿入して、あとは公式のところから載っているものから自分が使用たいデザインを選んで、実装していくだけだからです。

# 3.完成形

![d98aa278e3b051dd8838dcc30161447f.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1043387/44b35fd5-258c-5b4f-4acd-8d0ea41e6c31.gif)

4.どのように使うのか
1)まず表示させたいビューファイルに画像をいくつか記述します

<%= image_tag 'S__19701764.jpg' %>

元記事を表示

#Rails redirect_toではhttpリクエストをgetからdeleteに変更できない!?

#Rails redirect_toではhttpリクエストをgetからdeleteに変更できない!?
rails 5.2.2
を使ってます。

今回はユーザーの退会ボタンを押したら退会処理がなされてかつ、ログアウトされ、ログイン画面に飛ばすような設計にしてそれを実装しようとしていたのですが、そこで問題が発生しました!!

それは退会処理後のログアウトを呼び出そうとして
redirect_to user_sessions_path
を実行したところ、「httpリクエストがgetですよ」とのことでdeleteに修正しようとしたが
残念
redirect_to user_sessions_path, method: :delete
ではできなかった
これ以上解決方法が浮かばなかったのでいろいろ調べたところ
deleteになってしまった場合はstatusコードを編集することでgetにできるらしいが
getからdeleteは無理なようだ・・・
postは指定できないことは知っていたがまだredirect_toに弊害があったとは・・・

皆さんもきおつけてくださいね
僕はこれに2時間近く囚われて

元記事を表示

【Rails】【Controllerから外部APIを叩く】 OpenWeatherMap APIで天気情報を取得

# はじめに

外部APIを叩くという経験が初めてだったので、どんな大変な作業が待っているのだろうと心構えをしていたのですが、驚いたことに
`実は難易度が低くて、高機能が実装できるハイコスパな方法`でした。
今回実装した機能の概要は以下の通りです。メモ程度ですが参考程度に載せておきます。

![API概要.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/688968/14f69d43-0d88-5126-639e-7eb09975725f.jpeg)

# 前提
– deviseでユーザーに関する機能作成済み
– food_record(料理記録)モデルを作成済み
– new, createなどの基本的な機能は既に実装済み

# 環境構築
– Ruby2.7
– Ruby on Rails6

# API_KEYの取得
[OpenWeatherMap](https://openweathermap.org/)で会員登録して、API_KEYを取得します。こちらは、多くの記事が出回っているので、割愛させて頂き

元記事を表示

RailsでPostgreSQLを使うぞ!「FATAL: role “postgres” does not existの解消」にむけて

#はじめに

Railsチュートリアなんとか一通り終え(理解度としては3割程度なので終えたと言えるかどうかはおいといて…)、
自身のローカル環境にてRuby, Railsの環境を構築する際に発生した問題に関して、自身のメモのため、初学者の方で同様の問題が発生した方向けに投稿します!

#開発環境

* macOS Catalina 10.15.7
* MacBook Pro (13-inch, 2020, Two Thunderbolt 3 ports)
* プロセッサ 1.4 GHz クアッドコアIntel Core i5
* メモリ 8GB

* Ruby 2.5.7
* Rails 5.2.3
* PostgreSQL 13.1

#導入までの一連の流れに関して
一連の環境構築までの流れに関しては下記記事が大変参考になると思いますので、ぜひ見てください。
今回はPostgreSQLの導入部にフォーカスして記事を作りたいと思います!

>【完全版】MacでRails環境構築する手順の全て
https://qiita.com/kodai_0122/items/56168eaec

元記事を表示

Rubyの最新のバージョンをインストールしようとしたらrbenvとanyenvにぶつかった

# 出発点
「プロを目指す人のためのRuby入門」が、「Macに標準搭載されているRubyは最新ではないので、アップデートした方がいいよ」と仰るので素直に従うことに。irbで日本語が化けてしまう症状にもこれが効くそうです。

**Rubyの最新版のインストールにはrbenvというのがイケてるらしい。
そのrbenvをインストールするには、anyenvがいいらしい。**

言語のインストールってサクッと終わる話かと思いきや、意外に階層が..。
そしてややハマったのでメモ…。

**rbenvとは?**
冷静になると、Ruby environmentと読めます。Rubyの環境設定ツール。

**[anyenv](https://github.com/anyenv/anyenv)とは?**
同じ容量で、Any environmentと読めます。rbenvだけでなく他の言語の環境設定ツールもまとめて管理してくれるツールだそうな。

#始める前に作業環境の確認
MacBook Pro 13 2020
macOS Catalina 1O.15.7

# 1. [anyenv](https://

元記事を表示

Formオブジェクトを用いて作成したデータを、編集・更新する方法

#要点
+ 初心者がアプリを作るときの参考に
+ formオブジェクトを用いた編集・更新機能は複雑なので詳しく知りたいorおさらいしたい
+ 下記のエラーを解消する方法

“`
param is missing or the value is empty: ‘Formオブジェクト名’
“`

#はじめに

メルカリのようなフリマアプリを作成中で、Formオブジェクトを用いて商品にタグ付けして編集・更新(edit・update)する機能を実装まで行いました
各モデルとコントローラーは以下のようになります

+ Item/商品
+ Tag/タグ
+ TagItemRelation/商品とタグの中間テーブル
+ TagsItem/ ItemとTagを同時に保存するためのFormオブジェクト

“`ruby:/app/model/item.rb
class Item < ApplicationRecord has_many :tag_item_relations, foreign_key: :item_id, dependent: :destroy has_many :tags,

元記事を表示

Railsによるfollow機能の実装

# はじめに
Railsを使ってfollow機能を実装する中で気づいたことなどを自分用のメモとして手順と共に残しておこうと思い記事を書きました。間違っているところなどありましたらご指摘いただけると助かります!

# Follow機能実装にあたって行う手順
1. Followモデルを作り、dbにfollowsテーブルを追加
2. 各モデルで関連付けを実装、フォロワー・フォローしている人を簡単に取得できるメソッドを定義する。
3. 各controller, viewでそれらを表示

おおまかにはこんな流れです。基本的にはRailsチュートリアル第4版を参考にしています。

# Followsモデルを追加

“`:terminal
bin/rails g model Follow follower_id:integer followed_id:integer
“`

上のように、rails g のコマンドでモデルを作ります。今回は、あるユーザーから見て、フォローされている人のidを格納するfollower_idカラム、そのユーザー自身のidを格納するfollowed_idカラム、を定義し

元記事を表示

if文とunless文の使い分け

エラーばかり投稿してもつまらないので、今回はif文とunless文について学んだことを書いていきたいと思います。

# if文とは

“`ruby:ruby

if A = B
#処理
end
“`

`AはBである`という内容が、
正しければ処理を実行し、
正しくなければ処理を実行しません。

# unless文とは

“`ruby:ruby

unless A = B
#処理
end
“`

`AはBである`という内容が、
正しければ実行せず、
正しくなければ実行します。

`=`は等しいかどうかを比較するときに使います。
if文では**AとBが等しいとき**に`true`となり、処理を実行し、
逆にunless文では**AとB等しくない時**に`true`となり、処理を実行するというわけです。

それでは比較演算子の1つである`!=`を使うとどうなるでしょうか?
# 比較演算子の `!=`とは
`=`とは逆で等しくないことを比較するときに使う比較演算子です。
要するに

“`ruby:ruby

if A != B
#処理
end
“`

`AはBではない`という内

元記事を表示

コロナ渦での未経験からエンジニア転職に成功した上での感想

#前置き
あくまで一個人の感想であり、特定の人物や団体に誹謗中傷はやめてください。
年齢は20代前半
高卒
文系です。数学への苦手意識は高い。
転職は初
#今の未経験からのエンジニア転職の状況について
正直かなり厳しい状況です。現在、未経験からのエンジニア転職はスクール卒のRubyを少しかじった未経験で溢れかえっており、経験者のエンジニアが欲しい企業と未経験から転職したいエンジニアの需要と供給が合致していません。正直、企業は未経験に技術は求めていないので、高度な技術を使用したポートフォリオは必要ありません。(Docker,CIなど)
そもそもポートフォリオをみていない可能性があります。なぜなら面接でポートフォリオの話題がでることがほとんどありません。なので、未経験が転職するのに必要なのは高度な技術を使用しすごいポートフォリオを作るより、面接対策を徹底したほうが転職できる可能性が高まると今回の転職活動で感じました。現在スクール卒のエンジニアが応募しすぎて、またスクール卒かよと思われるので、スクール卒を隠して独学で勉強しましたと言うと差別化を図れるかもしれません。(他の同期も同じ意見の方が

元記事を表示

[Rails6] GoogleMapを使って、マーカーが立っている位置をDBに保存する!

前提

・Railsのアプリケーションであること
※私のRailsのバージョンは6.0.3です
・記事作成機能が存在すること
・GoogleMapを自分のアプリケーション上で表示することができていること
※下記記事などが非常に参考になると思います。

https://qiita.com/tiara/items/4a1c98418917a0e74cbb#%E5%9C%B0%E5%90%8D%E3%81%A7map%E3%82%92%E7%A7%BB%E5%8B%95%E3%81%99%E3%82%8B

https://qiita.com/nagaseToya/items/e49977efb686ed05eadb

目標

記事作成の際、マップにマーカーを1つだけ立てられるようにし、その位置情報をDBに保存すること。
マーカーの立て方としては以下を想定。

・マップをクリック
・位置を検索(GeocodingAPIを使用)

※記事最下部に完成版のgifあり

それではやっていきましょう!

gemのインストール ※いらない方はスキップしてください

“`ruby:Gemf

元記事を表示

Railsチュートリアルはじめます

#はじめに
2020年12月末からプログラミング学習を始め、2021年1月21日現在で以下の学習を終えました。

* HTML&CSSコース (#Progate)
* はじめてのHTML (#ドットインストール)
* はじめてのCSS (#ドットインストール)
* JavaScriptコース (#Progate)
* 詳解JavaScript 基礎文法編 (#ドットインストール)
* Rubyコース (#Progate)
* Ruby入門 (#ドットインストール)
* SQLコース (#Progate)
* MySQL入門 基礎編 (#ドットインストール)
* MySQL入門 応用編 (#ドットインストール)
* はじめてのGitとGitHub (#Udemy)

# 学習を通じて
今までは日々の学習をTwitterでアウトプットしていましたが、Qiitaでのアウトプットも挑戦しようと思います。
Railsチュートリアルの学習で以下のアウトプットをしていく予定です。

* できるようになったこと
* わからない→わかったまでの解決方法
* 感想や意気込み

また、Qiitaでのアウトプ

元記事を表示

bundle install エラー

実行環境:
Winodows 10 Pro (64bit)
Vagrant 2.2.14
Ubuntu 16.04.6 LTS
Docker 18.09.7
ruby:ruby 2.7.2p137
Docker のコンテ内でRubyのsinatraライブラリをインストールするために
bundle install を実行したところ、以下のエラーが発生しました。
““

““
Fetching source index from https://rubygems.rog/

Retrying fetcher due to error (2/4): Bundler::HTTPError Could not fetch specs from https://rubygems.rog/

Retrying fetcher due to error (3/4): Bundler::HTTPError Could not fetch specs from https://rubygems.rog/

Retrying fetcher due to error (4/4): Bundler

元記事を表示

【Rails チュートリアル】”NoMethodError (undefined method `activation_digest=’ for #

# “NoMethodError (undefined method `activation_digest=’ for #

について

何故か本番環境だけで、このエラーがみられた

**user.rb**

“`
def activate
self.update_attribute(:activated, true)
self.update_attribute(:activated_at, Time.zone.now)
end
“`

とself.をつけ忘れてた

何故、ローカルだと問題なかったのか、、、

元記事を表示

railsでカスタムヘルパーの使い方

>引用先
>[Railsチュートリアル](https://railstutorial.jp/)

#カスタムヘルパーとは
Railsでは多くの組み込み関数が使えますが、使いたいメソッドがなかった時にオリジナルのメソッドを作成できます。
この新しく作ったメソッドのことをカスタムヘルパーといいます。

#ファイルの場所

“`ruby:app/helpers/application_helper.rb
module ApplicationHelper

end
“`

ファイルの位置は app/helpers/application_helper.rb
最初はこのようなファイル構造になっています。

#使い方

例えばこのように記述する。

“`ruby:app/helpers/application_helper.rb
module ApplicationHelper

def full_title(page_title = ”)
base_title = “Sample App”
if page_title.empty?
base_title

元記事を表示

discordrbで音声が使用できない場合の対処

# 環境
– OS: Windows10(**64bit**)
– Ruby: ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [**i386-mingw32**]

# 起動時にこんなエラーが出る!
“`
libsodium not available! You can continue to use discordrb as normal but voice support won’t work.
Read https://github.com/shardlab/discordrb/wiki/Installing-libsodium for more details.
“`

# 対処
URLに記載の方法だと、何度やっても解消しない(おそらくx64-mingw32版Ruby用の説明のため)。
`C:\Windows\System32`ではなく、`C:\Windows\SysWOW64`に**32bit用**の`libsodium.dll`を`sodium.dll`にリネームして入れてやる。

libopusも入っていなければついで

元記事を表示

OTHERカテゴリの最新記事