- 1. Cloud9 “VFS connection does not exist”と表示されるときの対処法
- 2. Cloud9 × Raisl × Docker × MySQL で環境構築
- 3. RailsにおけるRESTfulな設計とはなにか?
- 4. Rails エラーメッセージを日本語化したいとき
- 5. 【アウトプット】 Guardの導入
- 6. Nature Remo Local APIを用いて、LAN内のRailsアプリからNature Remoを操作する
- 7. Railsで起きた最初のエラー
- 8. 初心者がRailsサーバー立ち上げるための環境構築で苦戦した話
- 9. ポートフォリオ作成記録 Railsチュートリアル2章
- 10. 【RSpec-rails】ユーザーモデル単体テストコード
- 11. メタプログラミングRuby(第I部・金曜日まで)を読んでいく
- 12. Rails 一意性 DB メモ
- 13. ヘルパーメソッドの概要
- 14. Amazon LinuxインスタンスにRails6をインストールするまでの手順
- 15. 【Rails】DBと連携してプルダウン(ドロップダウン)メニューをつくる(勉強中)
- 16. swiperを導入したけど画像のレスポンシブがうまくいかないよ
- 17. 30代未経験からRails, AWS, Docker, CircleCIを使って減量アプリを作りました
- 18. 【RSpec】ユーザーの新規登録について結合テストを行う時に意識すること
- 19. Rspecのシステムテストでクッキーに関するテストしてみた
- 20. 【Rails】carrierwave(キャリアウエーブ)で動画の投稿(保存)
Cloud9 “VFS connection does not exist”と表示されるときの対処法
Railsチュートリアルの1.3.2 rails serverを進めていたとき、サーバーを立ち上がっても
”Oops VFS connection does not exist”と表示されてしまうエラーについてです。
↑参考資料チュートリアル通り進めていても、エラーが出たので焦ってしまう人も多いと思います。
解決方法として
①Webサーバーの再起動
②使用ブラウザの確認
③EC2インスタンスの再起動
④OSのバージョンの更新
⑤Cookie設定
⑥広告ブロッカーやセキュリティソフト使用の有無
があるようです。私の場合、④と⑤を改善することで、サーバーを立ち上げることができました。ご参考までに。
Cloud9 × Raisl × Docker × MySQL で環境構築
#はじめに#
cloud9を使ったDockerの環境構築の記事が少なく戸惑ったこと、自身のアウトプットのために執筆します。別の記事でも記載していますが、現在転職活動中の身ですのでプロではありません。
間違いなどありましたらご指摘いただければ、自身でも調べ速やかに修正いたします。>参考記事:
[丁寧すぎるDocker-composeによるrails5 + MySQL on Dockerの環境構築(Docker for Mac)](https://qiita.com/azul915/items/5b7063cbc80192343fc0)ファイル内容は上記サイトから頂きましたが、port8080に対応するため一部編集を加えています。
#目標#
タイトルの構成で環境構築をし、「Yay! You’re on Rails!」を表示させる。#環境#
Amazon linux
Ruby 2.6.3
Rails 5.2.4.4
MySQL 5.5.62
Docker 19.03.6
Docker-compose 1.27.4#やってきましょう#
###インスタンスのボリュームを増や
RailsにおけるRESTfulな設計とはなにか?
#RESTfulとは
>RESTful APIは、基本的に「RESTの原則」に従って実装されているWebシステムのHTTPでの呼び出しインターフェースのことを指します。
>>https://blog.api.rakuten.net/ja/jp-restful-api/#:~:text=REpresentational%20State%20Transfer%E3%81%AE%E7%95%A5,%E3%81%AE%E3%81%93%E3%81%A8%E3%82%92%E6%8C%87%E3%81%97%E3%81%BE%E3%81%99%E3%80%82___なるほど..わからん。___
Railsの根本的なところやん?こんなに理解がぼんやりしていてええの?
ってことでこの曇った視界をはっきりさせていく。#RESTful
アプリケーションを構成するリソースをHTTPリクエスト(GET/POST/PUT/DELETE)で作成、読み出し、更新、削除できる仕組み要するに___URLに対してどのHTTPリクエストを送るかでそのあとの動作をより分けている___イメージか。
__
Rails エラーメッセージを日本語化したいとき
私自身の備忘録のためにも記事を投稿してみたいと思います。
##Railsでエラーメッセージを日本語化したい場合
###言語設定の変更
まずはconfigのapplication.rbファイルを下記のように編集します。“`ruby:config/application.rb
# 中略
module Pictweet
class Application < Rails::Application # Initialize configuration defaults for originally generated Rails version. config.load_defaults 6.0 # 日本語の言語設定 config.i18n.default_locale = :ja # 省略 end end ``` ###Gemの導入 日本語に対応する'rails-i18n'というGemを導入します。 ```ruby:gemfile gem 'rails-i18n' ``` 上記を記述したらターミナルでbundle installを実行。
【アウトプット】 Guardの導入
Guardを使うと、ファイルが保存されたと同時にそのファイルのテストが行われるので、いちいちコマンドを打たなくてもよくなる。
##導入
GemfileにGemfileの :test グループと :development グループguard-rspec を追加。“`php:Gemfile
group :development, :test do
gem ‘guard-rspec’, require: false
end
“`
そして、bundle install。それから、Guardfileを追加。
“`
$ bundle exec guard init rspec
“`
実行するには、次のコマンドを実行。“`
$ bundle exec guard
“`
すると、guardが起動し、ファイルの監視が始まる。これを維持しておくと、ソースコードやテストコードを編集した時、RSpecが自動で実行される。
Nature Remo Local APIを用いて、LAN内のRailsアプリからNature Remoを操作する
## 概要
LAN内だけでNature Remoを操作できるRailsアプリケーションを作成しました。[Nature Remo Local API](https://local-swagger.nature.global/)を利用しています。
あらかじめ家電のリモコンの赤外線信号をDBに保存しておくことで、Nature Remoのサーバとの通信がうまくできない場合でもNature Remoから赤外線信号を送信できます。ラズパイ等で起動しておけば非常時に活躍すると思います。
リポジトリ:[chappy30313331/nature_remo_local](https://github.com/chappy30313331/nature_remo_local)
### デモ
![demo](https://raw.githubusercontent.com/chappy30313331/nature_remo_local/main/public/demo.gif)
### 環境
下記の環境で動作確認しています。
– Nature Remo ファームウェア
– `Re
Railsで起きた最初のエラー
こんばんは、ピチピチの社会人です。
本日はRailsで起きたエラーについてです。
##問題
RailsでCRUD処理について学んでいる時、ルート、コントロール、ビューの順にコードを書き、rails sをした時に以下のエラー文が出ました。
![スクリーンショット 2020-11-29 23.43.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/800544/2bc92da4-83b9-564e-e6a7-54afbe564244.png)
エラー表示怖すぎ、、とりあえずエラー文を読んでみる。
色々調べてみるとどうやらビューファイルに問題があるらしい。“`routes.rb
Rails.application.routes.draw doget ‘/users/new’, to: ‘users#new’
post ‘/users’, to: ‘users#create’
end“`
“`users_controller.rb
class UsersControll
初心者がRailsサーバー立ち上げるための環境構築で苦戦した話
#概要
progateの手順通りにすすめていくと、見事にハマって全然手順どおりに行かず。。。
ようやく「Yay! You’re on Rails!」の画面を拝むことができたので、
環境構築で躓いた部分を備忘録として書き残します。初心者が環境構築で挫折してしまう気持ちがわかりました。。。#環境
・macOS Catalina ver10.15.7
・ruby ver2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-darwin19]
・rbenv ver1.1.2
・Rails ver6.0.3.4
・homebrew ver2.5.12
・yarn ver1.22.10
・nodebrew v8.9.4
・node.js v15.3.0#ハマったことろ
1.Homebrewインストール
2.rbenv / ruby-buildインストール
3.webpackerインストール
4.nodebrew / node / yarnインストール###1.HomeBrewインストール
以下のエラーで
ポートフォリオ作成記録 Railsチュートリアル2章
## Rails scaffoldジェネレータとMVCモデル
そこで、railsチュートリアルの第2章が終わったのでその復讐の意味も込めて今回は記述致します。## ・scaffoldジェネレータ
scaffoldジェネレータを使用すると自動でWEBアプリが作られます。
しかし、この章では概要を知り理解する事が目的なのであくまでも、
簡素で作りたいなら、scaffoldジェネレータを使用する事だと私は感じました。## ・MVCモデル
Model=モデル(チュートリアルではデータベースのテーブル)
View=ユーザー(アプリを利用する人)が操作・結果をみる画面
Controller=ViewとModelのやりとりを処理(CRUD等)して返す。
上記の3つのことをさしている様です。
それぞれの役割をハッキリさせて、
プログラミングをすることでエラーを探して修正したり、
それぞれが独立して扱えるようにする事で改修も容易になると感じました。※気になった用語
CRUD(クラッド)
システムでデータベース(DB)操作の基本で使用されていた。簡単に調べるとデータ操作
【RSpec-rails】ユーザーモデル単体テストコード
### はじめに`rspec-rails`、`factory_bot_rails`、’fakerを導入する
“`:Gemfile
group :development, :test do
gem ‘rspec-rails’
gem ‘factory_bot_rails’
gem ‘faker’
end
“`### 次にターミナルで`$ bundle install`、` rails g rspec install`を行う。作成された.rspecファイルに`–format documentation`(表示の出力がきれいになるようにフォーマットを指示する)を記述
“`:ターミナル
$ bundle install
$ rails g rspec install
“`“`:.rspec
–format documentation
“`### 仕様に沿ったユーザーモデルのデータを設定する
重複したemailは登録できないことにしているため、uniqueを付けて一意となるようにする“`ruby:spec/factories/users
メタプログラミングRuby(第I部・金曜日まで)を読んでいく
# 第5章 木曜日:クラス定義
– JavaやC#におけるクラスの定義は、あなたが「これがオブジェクトに期待する動作です」と言うと、コンパイラが「了解。やってみます」と答える。クラスのオブジェクトを生成して、メソッドを呼び出すまでは何も起こらない。
– Rubyにおけるクラスの定義は違っており、classキーワードは、オブジェクトの動作を規定しているだけではなく、実際にコードを実行している。1. クラスマクロ(クラスを修正する方法)
2. アラウンドエイリアス(メソッドでコードをラップする方法)## クラス定義
– クラス定義にはメソッドの定義だけでなく、あらゆるコードを置くことができる。
“`rb
class MyClass
puts ‘Hello’
end# => Hello
“`– メソッドやブロックと同じように、クラス定義も最後の命令文の値を返す。
“`rb
result = class MyClass
self
endresult # => MyClass
“`– クラス(やモジュール)定義の中では、クラスがカレンとオブジェクト
Rails 一意性 DB メモ
Railsでは、`データを保存段階でバリデーション`をかけてもだめ
なぜか?
DBレベルでも一意性を保証しなければならないどういうことか…?
保存をする(フィルタリング)段階で「一意性」を設定しても
`リクエストを連続`で送ってしまうと同じユーザーが作成されてしまうらしい
→だから、DBレベルでも一意性を保証しないといけない
ヘルパーメソッドの概要
ヘルパーメソッドの中でも[form_withメソッド]の中身がまだ完璧に覚えていないので言語化しながら記事を投稿したいと思います。
フォームを実装するために、HTMLのformタグの代わりにform_withメソッドを用いる。rubyとして取り扱われるので<%= %>で囲む。
form_withメソッドを使う利点はUrlパスやRubyの埋め込みができるためです。では早速form_withメソッドの中身を記述し概要を確認します。
<%= form_with url:~~~path, method::post, local:true do |form|%>
<% end %>~~~はターミナルでrails routesで確認したパスを指定します。
では一つずつ解説します。
url:~~~path リクエストを送信したいパスを指定 (例)newアクションからcreateアクションに遷移する際のパスを指定。
method::post(オプション) 送信するHTTPメソッドを指定する。POST意味[送信する、作成する]これもrails routesで確認したのを指定する
Amazon LinuxインスタンスにRails6をインストールするまでの手順
## この記事でやろうとしていること
タイトルの通りですが、Amazon LinuxインスタンスにRails6.0.3をインストールするまでの流れです。
なぜRails6.0.3か?というのは、おなじみ「[Railsチュートリアル](https://railstutorial.jp/ “Railsチュートリアル”)」の第6版で指定されているバージョンだから、というだけです。RailsチュートリアルではAWSの統合開発環境 (IDE)「[Cloud9](https://aws.amazon.com/jp/cloud9/ “AWS Cloud9”)」の利用を前提としています。Cloud9はRailsをインストールする上での前提パッケージが既に入っているので、
“`
$ gem install rails -v 6.0.3
“`と叩くだけですんなりRailsが入ってくれますが、一歩cloud9という温室から外に出るとそうはいきません。
というわけで、何番煎じかはわかりませんが、少なくとも筆者はいろいろググって何とか解決したので、需要はあるはず。さっそく解説に入っていきます。
【Rails】DBと連携してプルダウン(ドロップダウン)メニューをつくる(勉強中)
SIer企業で働く社会人4年目OLです。
仕事をやめる予定はないのですが、手に職をつけていつか副職ができるといいなと思いWEBアプリ開発の勉強し始めました。(2ヵ月くらい)練習でWEBアプリ開発をしていますが、初めてつまったのがプルダウンメニューの作成なので勉強がてらまとめてみます。同じように悩んでる人の役に立てたらいいなと思います。
勉強始めたばかりなのでここ違うよ!っていうところがあればご指摘いただけると嬉しいです。
#やりたいこと
DB(Gameモデル)に格納しているデータをプルダウン(ドロップダウン)で選択して別のDB(Stageモデル)に保存したい。![プルダウン.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/797344/7cf713aa-8ecb-463d-be5e-c472248c215f.png)
###モデル設計####Gameモデル
| カラム | 型 |
| —- | —- |
| id | integer |
| game_name
swiperを導入したけど画像のレスポンシブがうまくいかないよ
##はじめに
Railsで自作アプリを開発中の私。(bootstrapを使用)
swiperを使ってサイトの見た目を良くしたいと思い、さっそく導入することに。その結果、問題なく動きました。
レスポンシブ対応もしました。
ただ、**画像がレスポンシブ対応してくれませんでした。**
swiperを使うときswiper-containerにheightを設定しますが、画面サイズが小さくなってもheightが固定なので変な余白が生じてしまいます。
またいい感じに調節しても画面幅を小さくすると、画像が見切れるといった別の問題が発生します。私は当初、メディアクエリを用いてブレイクポイントごとにheightを変更するゴリ押し方法でこれらの問題を解決していました。(これが普通かもしれません。)
でもせっかくbootstrapを使用しているのに追加でメディアクエリを使うのはなんか嫌だなと思ったり。
そんなとき簡単に解決する方法を見つけました。
共有させていただきます。##こんな人に向けて
1.Rails+bootstrapの開発中でswiperを使用したが、レスポンシブがうまくいか
30代未経験からRails, AWS, Docker, CircleCIを使って減量アプリを作りました
プログラミング未経験の31歳男がRuby on Rails, jQuery, AWS, Docker, CircleCIといった技術を使ってWebアプリを作りました。
この記事では、最初にアプリの紹介をした後に、
– どれくらいの時間かけて作ったのか
– なぜこれらの技術を使うことにしたのか
– 特に大変だったところ
– どのように学習したのかといったことについて、お伝えできればと思います。
# どんなアプリを作ったのか
減量アプリです。(筋トレしてる人が健康的に体脂肪を減らすためのアプリ)「これなら自分でも続けられる」をコンセプトに「PFC MASTER」というアプリを開発しました。
アプリのURLはこちらです。
https://pfcmaster.work/
(レスポンシブ対応しておりスマホからも見られますが、グラフが崩れます)Githubはこちらです。
https://github.com/naota7118/pfc-master## なんでこのアプリを作ったのか
僕自身が「減量がなかなか続かなくて、まだ腹筋を割れたことがない」という悩みを抱えていまし
【RSpec】ユーザーの新規登録について結合テストを行う時に意識すること
最近、RSpecを使ってオリジナルアプリのテストを実装しているのですが、新規登録で詰まったところがあるので、メモしておきたいと思います(といっても非常に単純なことなのですが?)。
# 詰まったこと
まず、ユーザーモデルのバリデーションは以下の通りです。
“`ruby:app/models/user.rb
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :validatable# ニックネームのバリデーション
validates :nickname, presence: true, length: { maximum: 30 }# メールのバリデーション
EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i.freeze
validates :email, format: { with: EMAIL_REGEX }# パスワードのバリデーション
PASSWORD_REGEX = /\A(?=.
Rspecのシステムテストでクッキーに関するテストしてみた
#はじめに
皆さん始めまして!
駆け出しエンジニアのプージニアことpoo3です!
今回初投稿となるので多めに見ていただけると幸いです。###対象となる読者様
・Rspecのシステムテストでクッキーに関してテストを行いたい方###参考記事
@rokさんの記事
https://qiita.com/rok/items/09f5cab47338d0fa9188##結論:gem ‘show_me_the_cookies’を導入しよう
まずはGemfileに ‘show_me_the_cookies’を追加“`ruby:Gemfile.rb
gem ‘show_me_the_cookies’
“`次にみんな大好き ‘bundle install’ ??
“`
bundle install
“`
rails_helperの中でインストールした’show_me_the_cookies’を使えるようにincludeする
(システムテストの中で使う事を想定しております)“`ruby:rails_helper.rb
config.include ShowMeTheCook
【Rails】carrierwave(キャリアウエーブ)で動画の投稿(保存)
#はじめに
キャリアウエーブ(carrierwave)を導入しました。
画像ではなく、動画の投稿方法を紹介します。
###目次
1. carrierwave導入
2. 動画の保存準備
3. 動画の投稿#開発環境
ruby 2.6.5
rails 6.0.0#実装
それでは実装していきます〜#1. carrierwave導入
まずはGemをインストールします。“`:ターミナル
gem “carrierwave”
“`“`:ターミナル
bundle install
“`
gemを読み込むために、`rails s` して必ずサーバーを再起動させてください。##1.2 アップローダークラスの生成
動画専用のファイルを作成します。“`:ターミナル
rails g uploader video_top
“`構文はこちらです。
“`:ターミナル
rails g uploader アップローダー名
“`
今回はvideo_tpoという名前で作ります。そうすると以下の様なファイルが自動生成されます。
![スクリーンショット 2020-1