kulku: ローカル環境立ち上げ

前提

・deboian(virtualbox + vagrant)

・rbenv

GitHubのためにSSHキーの設定を行う

RubyRailsのバージョンを合わせる

Ruby: 2.4 Rails: 5.1.4

すでに、rubyrailsが入っている場合は、

1:Railsを消す

2:Rubyをインストール後切り替える

3:Railsをインストール

bundle

pg関連のエラー

apt-get install postgresql libpq-dev

pgのインストール中にエラーが出た

rake db:setup

uglifiter関連のエラー

Gemfileに以下を追加

gem 'therubyracer', platforms: :ruby

vagrantユーザがいないとpostgresに怒られる

$ sudo su - postgres
psql
create user vagrant createdb password 'vagrant' login;
\du
\q

33歳からのWEBサービス・スタートアップ

rails sの後のエラー

Cannot render console from 10.0.2.2!

config/application.rb

config.web_console.whitelisted_ips = '10.0.2.2'

PostgreSQL: PG::NotNullViolation: ERROR

ユーザ登録する時に上手く行かなかった。

tapsでMySQLからPostgreSQLに移行した後に起きたトラブル事例

null制約があるところは、default値を指定してあげればよいらしい。

db/schema.rb

こんな感じ(userテーブルでnull:false制約があるところは全部)。

t.string "name", default: "", null: false

schemaの設定を読み込み反映させる

$ rake db:schema:load

Railsのdb/schema.rbの役割

Deviseのメールが届かない(ユーザー登録がうまくできない)

ログを見ると上手く言っているように見えるけどどうしても届かない。

ちなみに、デフォルトの状態だとメール関連のエラーが吐かれないようになっているのでそこも修正してはみた。

ActionMailerでメールが送信されないない人はここを見直そう

config/environments/development.rb

config.action_mailer.raise_delivery_errors = true

でも、相変わらずエラーは無かった。

結局、letter_opener_web(最初から入っているgem)を使って認証させた。 (letter_opener_webを使うと実際のアドレスにはメールはいかないのか?ちょっとわからなかった。)

http://localhost:3000/letter_opener

にアクセスして、右側で認証すればオッケー。

http://k-shogo.github.io/article/2013/11/06/rails-letter-opener/

開発中にrailsから送信したメールを確認する