Rails関連のことを調べてみた2020年03月28日

Rails関連のことを調べてみた2020年03月28日
目次

どこのページからでもリンクさせたい時

# はじめに
この記事が、初めての投稿なので見にくかったらすみません。。
自分の備忘録も兼ねて、学んだことを書いていきます!

# トップページからしか、リンク出来ない!!
フリマアプリの作成中のことです。

ヘッダーに、新規登録ボタンを置いていました。
トップページでボタンを押すと、新規登録ページへ遷移できます。
ですが、商品検索ページや商品詳細ページからは、ボタンを押してもエラーになってしまいました!!![image.png]
(https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/581782/3ba04bce-f720-4a5f-991d-2c734b9b9910.png)

# 絶対パスを相対パスに変更
結論から言うと、絶対パスを相対パスに変えたら解決しました。

絶対パス↓

“`ruby:header.html.haml
%li.listsRight__item.listsRight__item–new
= link_to “新規登録”, “users/sign_up”
“`

相対パス↓

元記事を表示

日々のうんちをシェアするアプリを作る~その1~

## うんちしぇあ。作ります
技術の勉強をかねて、何か作りたいなあ、、、なんか良いアイディアないかなあ、、、
そんな思いを日々持っていました。
しかし特に決まらず、ふと彼女に「なんかほしいアプリない?」って聞いてみました。
すると
「毎日何回うんちしたかシェアするアプリかなあ、、、、」

は!?
こいつ天才か!?

僕はそう思いました。
だから作ります。うんちしぇあ。

## 使う技術
僕はReactというものが書けます。少しですが。
だからNext.jsやってみたいなーっていう安直な理由でNext.js書きます。
あとRailsもかけるからAPI的に使います。

とまあ、明らかに技術力は低いので、間違っているところ・アドバイス・情報共有などあればバンバンください。絶対に受け入れます。一緒に成長していきましょう。~~女性ならプライベートでの勉強会も~~

## 早速作って行くよん
まずはサクッとNext.jsのチュートリアルを終わらせました。。。しかし!!良さが全然わからん。なんか英語だし。

はい。もう良いです。作りながら勉強します。

やっぱうんちしぇあ。だしうんちのコンポーネント

元記事を表示

Dockerを学習するための記事一覧

# Dockerを学習するための記事をまとめてみました
エラーの対策も記述してます。

Running `bundle update` will rebuild your snapshot from scratch, using only
the gems in your Gemfile, which may resolve the conflict.
ERROR: Service ‘web’ failed to build: The command ‘/bin/sh -c bundle install’ returned a non-zero code: 6

## 参考になる記事一覧
今回の動画ではインストール完了済みなので、この記事は飛ばしています。
[DockerをMacにインストールする(更新: 2019/7/13)](https://qiita.com/kurkuru/items/127fa99ef5b2f0288b81)

今回実施する記事は下記になります。
[DockerでRailsの環境構築](https://qiita.com/minuro/items/1fe38

元記事を表示

[HowTo]マッチングアプリ的な友達機能を実装してみる。

現在、個人アプリを作成しているのですが、その中の機能として「友達機能」を実装することにしました。
スクールではカリキュラムになかった内容であったため、自身で色々と調べて実装したので、備忘録として、
以下のように記事にさせていただきます。
皆様の実装に少しでも役立てていただければ、幸いです。

#はじめに-機能に対する考え方
今回の「友達機能」実装にあたり、当初、「友達申請=>承認=>友達になる」というよくある流れでの実装を考えてました。
しかしながら、少し堅苦しい感じがしたので、もう少し気軽に友達申請を実現するために、最近流行っているマッチングアプリ的に「いいね」を友達申請の代わりに使用し、お互いに「いいね」されたら「友達」にするというやり方での実装を考えました。
以降、その考えをベースに実装をしております。

#実装イメージ
今回の機能の実装イメージは以下となります。

##友達申請(いいね)の動作イメージ
友達申請(いいね)以下のようにハートマークをクリックすると完了します。
この動作をお互いに行うことで”友達”として認定します。

![demo](https://gyazo.co

元記事を表示

ツイッター風Railsアプリをデプロイする(前編:unicornのみで取り急ぎ繋げよう)

# この記事の基本的な方針
この記事は、[過去記事](https://qiita.com/annaPanda8170/items/844684cb739f99d3f114)で作ったアプリをEC2でデプロイします。
手を動かしながら読みたいようでしたら、以下でこのアプリを手に入れてください。

“`bash:Terminal
$ git clone https://github.com/annaPanda8170/cheaptweet.git
$ bundle install
$ bundle exec rake db:create
$ bundle exec rake db:migrate
“`
これ自体の作り方は、[こちら](https://qiita.com/annaPanda8170/items/844684cb739f99d3f114)。
Rails5.2.4.2_でのみ動作確認しています。
基本解説はしません。手順のみ示します。
# 想定する読み手
既に一度Railsアプリをチュートリアルやスクール等で作りデプロイしたこのある方を想定しています。
Mac使用で、パソコンの

元記事を表示

【ruby on rails】Rails超入門0❗️RailsをRailsInstallerでwindows10にインストール

###0.Railsinstallerとの出会い

rails6.0インストール⇒失敗
rails5.0インストール⇒失敗
sqlite3とのバージョンが合わない、
webpackerのインストール、nodejsのインストール
・・・・・
何故かうまくいかないのだ。
環境ができないと試すこともできない。
そんな時に出会ったのがRailsInstallerだった。

###1.RailsInstallerのダウンロードとインストール

1.画面に従ってインストールする。
[ここ](http://railsinstaller.org/en)から欲しいバージョンのものをダウンロードをする。

![railsinstaller1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/494408/382c9cf2-5332-acf9-408e-ec6e477beefb.jpeg)

※railsinstaller:ruby on railsを構築する上で必要なソフトが入った
all in one packageのよう

元記事を表示

vagrantとDockerで環境構築をした

## はじめに

[Vagrantを使う「Mac最速のDocker環境」を初心者向けに解説](https://qiita.com/necocoa/items/bd62ed3dba14b17552f2)を参考に環境構築をしたときにエラーとなったことをまとめて書いていきます。

VirtualBoxをインストールから、Mutagenのインストール・セットアップまでは問題なくできたので、その次のコマンドから書いていきます。

## Vagrantを起動
コマンド実行後に、エラーが発生しました。

“`zsh
$ vagrant up
/Users/hoge/.vagrant.d/gems/2.4.9/gems/vagrant-mutagen-0.1.2/lib/vagrant-mutagen/Mutagen.rb:22:in `initialize’: No such file or directory @ rb_sysopen – /Users/hoge/.ssh/config (Errno::ENOENT)
“`

`config`が無いと言われているので、作ってあげます。
ディレク

元記事を表示

関連する質問を表示したい(Q&Aサイト)

現在ポートフォリオとして大学受験をテーマにしたQ&Aサイトを作成しています

関連する質問を表示する機能の実装に手間取ったので、自分用にまとめ。

## 何をもって関連とするか

質問同士を関連づけるための基準が必要ですが、今回は質問にカテゴリーを紐付け、同じカテゴリーに属するものを関連する質問とします

## モデル

“`ruby:models/question.rb

has_many :category_relationships
has_many :categories, through: :category_relationships, source: :category
“`

“`ruby:models/category_relationship.rb

belongs_to :question
belongs_to :category
“`

“`ruby:models/category.rb
has_many :category_relationships
has_many :questions, through: :category_re

元記事を表示

【爆速成長!】プログラミング駆け出し〜オリジナルポートフォリオ作成までに参考にしたサイト一覧

# はじめに
完全未経験の30歳文系が、プログラマー転職に向けて活動してきました。
2019年8月に初めてProgateでプログラミングに触れてから、約5ヶ月。
2020年3月現在、オリジナルポートフォリオの完成まで至りました。

最初の頃は右も左もホンッットに何も分からない状態でした。
その当時を思い返すと、少しは成長したのかなーって思います。

分からないことは即調べて、有益に感じたサイトやQiitaの記事は全てお気に入りに入れていました。

そこで、これまで参考にさせて頂いたサイトを一つにまとめてみます。
※カテゴリー別にまとめてみました

# 参考になったサイト

## 学習方法・概念・その他有益なもの

未経験者には全てが黒魔術に見える呪いがある
https://qiita.com/mackey0022/items/73f77873facc22e22c8c

不思議の国のSE用語
https://qiita.com/t_nakayama0714/items/478a8ed3a9ae143ad854

質問は恥ではないし役に立つ
https://qiita.com/seki

元記事を表示

学習期間3ヶ月の初学者がポートフォリオを公開してみる。

#### なぜ書いたか?
いつもと変わらぬ1日が始まり、なんとなしに携帯をいじっていると余命診断アプリなるものを見つけました。面白そうだなと思い、ダウンロードして余命を診断してみるとなんとあと51年しか生きられないというではありませんか。
人によってはあと51年もあると考えるのかもしれませんが、なんとなくあと70年くらいは生きられるとのほほんと考えていた私にとってこの51年というのはあまりに少ない。何か後世に残さなければということで筆を…じゃなくてキーボードを叩いているのです。
[余命タイマー](https://apps.apple.com/jp/app/%E5%AF%BF%E5%91%BD%E6%99%82%E8%A8%88-%E3%81%82%E3%81%AA%E3%81%9F%E3%81%AE%E4%BD%99%E5%91%BD%E3%82%92%E3%82%AB%E3%82%A6%E3%83%B3/id878704370?mt=8)

また個人的にAWSの勉強をし始めたのですが、とっかかりに[AWSの漫画](https://aws.amazon.com/jp/campai

元記事を表示

vagrant(CentOS7)環境でrails6 + MySQLの環境構築(半分は自分メモ)

#はじめに
今回の投稿が初投稿になります。至らない点が多々あるかと思いますが参考にしていただけると幸いです。
最後の方がグダグダしてたりするのでご了承ください。
また、VirtualBox + Vagrantは始めから入っている状態から入っている前提でお話しさせていただきます。

こちらの記事を参考にさせていただきました。
[Windows 10 + VirtualBox + Vagrant + CentOS + Rails で、”Yay! You’re on Rails!”まで](https://qiita.com/suppy193/items/bff79a3ee4edf3a4d5ee#ruby-%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB)

#環境
ホストos
・windous10 pro
・Vagrant 2.2.6

ゲストos
・centos7
・ruby 2.7.0
・rails 6.0.2.2

#ホストOSでの準備
はじめに、vagrantがはいっているか確認します。

“`
C:\U

元記事を表示

Rails5 AWS EC2とRDS、S3、paperclipを使用したデプロイ

#デプロイ覚書
基本的に下記記事を参考にさせて頂きました。
https://qiita.com/naoki_mochizuki/items/f795fe3e661a3349a7ce
https://qiita.com/Yuki_Nagaoka/items/975b7598806d6ae0c0b2

上記記事の中では説明がなく自分がハマった箇所について。
まず
・画像投稿のストレージにS3を使用していた為その設定。
・あとRDSでデータベースを作成する際の文字コードの設定。
・デプロイ終わった後に大幅な修正を見つけてしまった際のやり方

#S3使用時の設定について
https://qiita.com/nakki/items/6df87756ef4119cc3e68
コチラの記事を参考に実装しました。
デプロイ時にハマったのはunicornが起動しなかった。。。
ログを調べると
`Cannot load Rails.config.active_storage.service`
`undefined method fetch for nilclass`
コチラのエラーは同じエラー文での記事が

元記事を表示

ActiveStorageのseedデータを投入する際のエラー

Railsでアプリを作成する際、ActiveStorageを使って画像のseedデータを投入しようとしたところ、少しはまったので備忘録です。

# seedデータが通らない

記事などを参考に

“`seeds.rb
user = User.find(1)
user.image.attach(io: File.open(‘app/assets/images/test.jpg’), filename: ‘test.jpg’)
“`

とした後、

“`
$ rails db:seed
“`

としても通らないので、ぐぐってみる。

“`ruby:config/environments/development.rb
config.active_job.queue_adapter = :inline
“`

を追記したら無事とおりました。

元記事を表示

デプロイ時 よく使ったコマンドメモ 自分用

#unicorn
起動 
bundle exec unicorn_rails -c config/unicorn.rb
unicorn_rails -c /var/www/rails/(アプリの名前)/config/unicorn.conf.rb -D -E production

状態確認
ps -ef | grep unicorn | grep -v grep

#mysql
起動
sudo service mysqld start

production環境でのDB削除
RAILS_ENV=production DISABLE_DATABASE_ENVIRONMENT_CHECK=1 bundle exec rake db:drop

接続
mysql -h エンドポイント -P 3306 -u root -p

DBの文字コードチェック
show variables like “chara%”;

#nignx
再起動
sudo nginx -s reload

#vimコマンド
強制書き込み
$ sudo vim <ファイル名>
:w !sudo tee %
:q!

元記事を表示

Rails6 のちょい足しな新機能を試す 125(endless range bug fix編)

# はじめに

Rails 6 に追加された新機能を試す第125段。 今回は、`endless range bug fix` 編です。
Rails 6.0.0 では、 `(1..)` などのエンドレスな Range で `include?` メソッドを呼ぶと `RangeError` が発生するバグがありました。

Rails 6.0.1 以降では修正されています。

Ruby 2.6.5, Rails 6.0.1, Rails 6.0.0 で確認しました。

“`shell
$ rails –version
Rails 6.0.1
“`

今回は、 `rails new` して、 `app` ディレクトリの下にファイルを作って確認してみます。

# Rails プロジェクトを作る

Rails プロジェクトを新たに作成します。

“`shell
$ rails new rails_sandbox
$ cd rails_sandbox
“`

# スクリプトを作成する

`Range#include?` を実行するスクリプトを作成します。

“`ruby:scripts/e

元記事を表示

Rails開発におけるRSpecの使用方法と基礎的な理解 〜その1〜

## はじめに
当記事は以下のような方の参考になるかと思います。

– Ruby on Rails初学者
– テストについて学びたい方
– テストについて一次情報を確認したが、あまり理解できなかった方
– RSpecの基礎について学びたい方
– RSpecを簡潔に書きたい方

## 執筆の理由
私はプログラミングの学習にスクールを利用しましたが、テストは他の項目と比較して理解が進んでいない方が多いような印象でした。(私を含め)
その為、自身の理解が進んだ際には、記事を投稿する事でアウトプットでより理解を深めると共に、初学者の方々の理解の助けになれればと考えていました。
これが記事投稿の理由です。

ちなみに、自身がテストについて理解が進んでいなかった理由としては、以下の3点が挙げられます。

– テストを軽視していた。
– カリキュラム全体を確認した結果、進捗に直接の影響を与えないと考えた。
– その性質上、DRY(Don’t Repeat Yourself「何度も同じ事を記述せず、効率的にコーディングする」の意)にすることがやや制限される為、面倒に感じた。

数ヶ月前の理解が進んでい

元記事を表示

accepts_nested_attributes_forを理解する

Railsの`accepts_nested_attributes_for`というヘルパーについて、日本語で分かりやすい記事がなかなか見つからないのでアウトプットしておきます。
特に関係は無いですが、viewファイルはhamlで記載していきます。

## 環境
ruby 2.6.5
Rails 5.2.4.2

## 概要
そもそも**accepts_nested_attributes_for**とは何なのか?
[Rail APIガイド](https://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html)
一番上の解説をそのまま翻訳してみます。
>入れ子になった属性を使用すると、親を介して関連するレコードに属性を保存することができます。デフォルトでは、入れ子になった属性の更新はオフになっており、accept_nested_attributes_forクラス・メソッドを使用して有効にすることができます。入れ子になった属性を有効にすると、モデル上に属性ライターが定義されます。
>
>属性ライ

元記事を表示

Ruby単体でDB接続したいとき(MySQL)

# はじめに

RubyでDBに接続したい時があるかと思います。

例えばスクレイピングしてきた情報をDBに格納したい時など。

ActiveRecordを使うと実装できます。

ActiveRecordはRailsに搭載されているので、皆さんご存知かとは思いますが、

ACtiveRecordを単体で使ったことがない方は結構いらっしゃるかと思いますので、ご紹介します。

今回はMySQLを使います。

# ActiveRecordを単体で使ってみる

##準備

まずはDBを用意しましょう。MySQLにログインします。

~~~
mysql -u root
~~~

データベースを作ります。名前は今回sampleにします。

~~~
mysql> create database sample;
~~~

sampleデータベースに入ります。

~~~
mysql> use sample;
~~~

テーブルを作ります。名前は今回usersにします。Rubyの規約上、テーブル名は複数形にしてください(sをつける)

~~~
mysql> create table product (i

元記事を表示

Rails(6.02) + PostgreSQL(12.2) の環境をdocker-composeで作成する(webpacker対応版)

# はじめに
[Rails\+PostgreSQLの環境をdocker\-composeで作成する \- Qiita](https://qiita.com/atizawa/items/4ca6306087e3813b0941#comment-1b1b3fbc70a8f04f268d)で紹介されている方法はRails5での動作を前提としているようでした。
Rails6のwebpackerまわりの記述を追加し、アップデートしたのがこの記事になります。

## Version
– Ruby 2.7.0
– Rails 6.0.2 (Dockerfileでバージョン固定します)
– PostgreSQL 12.2

# ファイル構成

[元記事](https://qiita.com/atizawa/items/4ca6306087e3813b0941#comment-1b1b3fbc70a8f04f268d)におなじです。

“`
./
|- app/ //共有フォルダ
|- docker-compose.yml
|- web/
|- Dockerfile
“`

# Docker

元記事を表示

【Rails】本番環境におけるアセットプリコンパイルの設定

自分用メモです。
本番環境を整えた後のアセットプリコンパイルの設定について。

### 環境

ruby 2.6.4
Rails 5.2.4.1
puma 3.12.4
nginx 1.12.2

## エラーログ

本番環境でルートにアクセスしたらエラーが表示される。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/322882/dc50f901-0de0-97f0-01e1-fe44ddeface6.png)
エラーログはこんな感じです。(読みやすいように整形済)

“`test_app/log/production.log
INFO — : [e53342b0-17fc-4146-a4d1-6d64dc3007cd] Started GET “/” for 119.245.128.225 at 2020-03-09 02:40:39 +0000
INFO — : [e53342b0-17fc-4146-a4d1-6d64dc3007cd] Processing by Pos

元記事を表示

OTHERカテゴリの最新記事