naichi's lab

3日後の自分(他人)への書き置き

Ruby on Rails 4

【Rails4】FactoryGirlをdb:seedで使う

db/seeds.rbの中でFactoryGirlを使う方法をメモ 前提 RSpecとFactoryGirlがインストール済みであること。 blog.naichilab.com blog.naichilab.com ファクトリーの定義 FactoryGirlをインストール後にModelをGenerateしてれば勝手に作られてるはず。 なければ…

【Rails4】FactoryGirlの導入方法

毎回忘れるのでメモ 準備 RSpecを入れておく blog.naichilab.com Gem group :development, :test do gem 'factory_girl_rails' end $ bundle install spec/rails_helper.rb RSpec.configure do |config| 〜〜 # 下記1行追加 config.include FactoryGirl::Sy…

【Rails4】RSpecの導入方法

毎回忘れるので自分用にメモ Gem group :development, :test do gem 'rspec-rails' end $ bundle install インストール $ bundle exec rails g rspec:install Running via Spring preloader in process 25125 create .rspec create spec create spec/spec_he…

【Rails4】heroku上でrakeを定期実行する

昨日の続き。 下記記事で作ったrakeタスクを、heroku上で定期実行するように設定してみる。 blog.naichilab.com Heroku Scheduler herokuはschedulerっていうアドオンを提供してくれてる。 ほとんど公式を見ればわかると思う。 devcenter.heroku.com 使い方 …

【Rails4】DB(ActiveRecord)へ書き込みを行うrakeタスクの作成し、heroku上で実行

突然関係ないですけどrakeって熊手のことだったんですね。 さて簡単なクローラ&データ閲覧サイト作れないかと色々試してます。 前回の記事でrails newからherokuへのデプロイはできました。 次は定期実行するためのタスクを作ってみます。 独自のrakeタスク…

【Rails4】rails newからherokuでの実行まで

>>> Railsアプリの新規作成からherokuでの実行までを自分用にメモ Rails5はまだよく分かってないのでとりあえずRails4で。 環境 Mac OS X El Capitan 10.11.5 Rails 4.2.2 Ruby(rbenv) 2.2.2 手順 Railsプロジェクトの作成まで フォルダの作成と初期化 $ mkd…

【Rails】nginxリバースプロキシを利用したHTTPSサイトで、HTTP混在エラー(Mixed Content)が表示される(調査中)

表題の通りのエラーが出たので対応内容メモ。 環境 サーバーは2台 1台はnginxリバースプロキシ用Webサーバー httpsアクセスを受け付け、ローカルネットワーク上のrailsにhttpで転送してる もう1台はrailsアプリケーション用(DBとか含む) nginxからhttp…

【CentOS7】ImageMagick/GraphicsMagick is not installed

Rails + CarrierWave + MiniMagick で画像アップロードしてるんだけどStaging環境で動かしたらエラーした。 環境 CentOS7 Rails 4.2.2 carrierwave 0.10.0 CarrierWaveのエラーログを出力する設定 最初CarrierWaveのエラーがどのログみても出てなくてかなり…

【Rails4、SQLite】Cannot add a NOT NULL column with default value NULL

こつこつRailsやってます。 今日はこんなエラーに遭遇。 エラー SQLite3を使う環境でrake db:migrateしたらこんなエラー。 == 20160105034748 AddColumnToUser: migrating ================================== -- add_column(:users, :permalink, :string, {…

Ruby on Rails、Controllerからhelpersフォルダのクラスを使おうとするとuninitialized constantが発生する。

Devise+OmniAuthでQiita風の複数プロバイダ認証 - Qiita ここを参考にomniauthログインを実装してる。 deviseは使ってないので若干違うけど。 やりたいこと Railsチュートリアルを真似て作ったSessions#createをomniauthのコールバックで書き換える。 実装内…

Ruby on Rails、CarrierWave + fog で412 Precondition Failedエラー

CarrierWave + fogでConoHaのオブジェクトストレージへファイルをアップロードする処理を作ってて知らぬ間にエラーしてた。 さっさとテスト書けよって感じですが書き方分からなくて後回しにしてます。 とりあえず解決方法だけメモ。30分ぐらい悩んだ… エラー…

Ruby on Rails、RSpecを使ってコントローラのテストを書いてみる その2 ちょっとDRY化

はじめに 下記記事の続きです。 blog.naichilab.com よく分からないので教えて下さい〜と呟いたらRails界隈で超有名な伊藤淳一さんからのコメントいただけて感動しました。 @naichilab さん、こんにちは。ざーっとブログを読ませてもらいましたが、こんな感…

Ruby on Rails、RSpecを使ってコントローラのテストを書いてみる

Ruby on Railsを使って以前作ったサイトの再構築をしてます。 色々調べながらRSpecでコントローラのテストを書いてみたので手順をメモ。 Rails、RSpecともに初心者なので間違ってたらどんどん指摘ください。 環境 テスト対象 RSpecのインストール コントロー…

Rails、form_forが勝手に吐き出す<div class="field_with_errors"></div>を制御する

RailsでWebサイトを作ってるんだけどフォームのバリデーション時にレイアウトが崩れて困った。 原因はform_forが勝手に出力する<div class="field_with_errors"></div>ってことがわかったので対応方法をメモ。 環境 Rails 4.2.2 事の発端 こんな感じのページがあって、 そのまま送信すると当然バリ…

capistranoを使ってunicorn起動前に環境変数をセットする

どうやるのが最善というか一般的なのかまだ分かってない。とりあえず動いた方法を自分用メモ。 やりたいこと。 blog.naichilab.com この記事で行った下記コマンドをcapistranoでのデプロイ時に自動で行いたい。 $export SECRET_KEY_BASE=`bundle exec rake s…

【Ruby on Rails】環境変数エラー

まだまだエラーと格闘。 今度は環境変数エラー。 もう少しで動く気がする・・・ 環境 CentOS Linux release 7.1.1503 (Core) unicorn v5.0.1 Railsが環境変数エラーしてる Unicornのログ E, [2015-12-05T21:56:47.293845 #21753] ERROR -- : app error: Miss…

unicornの起動と終了

環境 CentOS Linux release 7.1.1503 (Core) unicorn v5.0.1 Unicorn起動 Railsフォルダで $ bundle exec unicorn_rails -c config/unicorn.rb -E production -D Unicorn起動確認 $ ps -ef | grep unicorn unityro+ 8575 1 0 17:18 ? 00:00:01 unicorn_rails…

unicorn起動時にPostgreSQL接続エラー【Ident authentication failed for user (PG::ConnectionBad)】

unicorn起動しようとしてPostgreSQL接続エラーが出たので自分用メモ 環境 CentOS Linux release 7.1.1503 (Core) unicorn v5.0.1 PostgreSQL 9.2.14 エラー内容 Unicorn起動してもエラー $ bundle exec unicorn_rails -c config/unicorn.rb -E production -D…

Rails、production環境のActionMailerでNet::ReadTimeout

ムームーメール config/environments/production.rb メールが届かない production.log config/environments/production.rbにtls: trueを追加してみる 届いた! ムームーメール ムームードメインで unityroom.com ドメインを買ったんだけど、ムームーメールっ…

Rails、production実行時、assetsフォルダ以下がno route matchesでアクセス出来ない

productionで実行してみた 環境変数エラー CSSが無い… 動いた まとめ 宿題 productionで実行してみた Railsチュートリアル、第3版でCloud9を使うようになったけど 勉強がてらローカル環境(RubyMine)で作り直してる。 で、10章まで終わってproduction環境で…

Sassの&(アンパサンド)の扱いが分からんって話

railstutorial.jp Rails Tutorialやってます。 Rails Tutorial通しでやる→よし作るぞ→駄目だ分からん→Rails Tutorialやる ってのを3周目くらい。 何度やっても難しいんだけど3周目だけあってだいぶサクサクと進めるようになった。 Sass その中にSass(CSSを…