デバッグ情報をブラウザに表示
開発中は以下のコードをテンプレートに埋めこむと開発がやりやすくなる。
application.html.erb
<%= debug(params) if Rails.env.development? %>
テスト確認用ユーザーを用意
Factory Girlを使うとモデルを使ったテストが楽に出来る
spec/factories.rb
FactoryGirl.define do
factory :user do
name "Michael Hartl"
email "michael@example.com"
password "foobar"
password_confirmation "foobar"
end
end
シンボル:userがfactoryコマンドに渡されると、Factory Girlはそれに続く定義がUserモデルオブジェクトを対象としていることを認識する。
ハッシュ保存するパスワードなどを含むモデルを使ったテストは遅い。
- BCryptアルゴリズムによるセキュアパスワードのハッシュ生成そのものが仕様上遅い
対策としては以下のコードを埋め込む
config/environments/test.rb
SampleApp::Application.configure do
.
.
.
# bcrypt'のコスト関数を下げることでテストの速度を向上させる。
ActiveModel::SecurePassword.min_cost = true
end
redirect_to @user(@model)
redirect_to @userと書けばユーザー表示ページに移動(User#show (ルーティングによる))
参考URL
flash
登録完了後に表示されるページにメッセージを表示し (この場合は新規ユーザーへのウェルカムメッセージ)、2度目以降にはそのページにメッセージを表示しないようにするというものです。Railsでは、こういう場合にflashという特殊な変数を使用できます。この変数はハッシュのように扱うことができます。
SSLを導入して本番環境をデプロイする
config/environments/production.rbを以下のように修正(コメントを外す)
config/environments/production.rb
SampleApp::Application.configure do
.
.
.
# Force all access to the app over SSL, use Strict-Transport-Security,
# and use secure cookies.
config.force_ssl = true
.
.
.
end
herokuに公開
上記URLを参考にもろもろ準備する。
$ heroku run rake db:migrate
上記コマンドを実行してherokuの環境にデータベースを用意する