Rails

Supervisor経由でunicornを立ち上げている環境にCapistrano3で自動デプロイ

前回の続きです。前回はCapistrano3の導入について書きました。 【入門】Capistrano3で自動デプロイ ★★★ 私の環境ではsupervisor経由でunicornを監視しているのですが、supervisorをリスタートしてしまうとhot deploy出来ない問題がありました。 そちらに関…

【入門】Capistrano3で自動デプロイ

※この記事はcapistrano3についてです。capistrano2.x系には対応していません。 ちょこちょこ新規開発しているのですが、毎回リモートサーバーにsshで入って pullして手順見ながらbundleなんちゃらして・・・。 みたいなのが非常にめんどくさいので、capistra…

Railsの404,500エラーページをカスタマイズ

Railsはエラーページをもともと用意してくれていて本番で動かすと そこに飛ばしてくれるので、まぁいいっちゃいいのですが、 簡単に設定できるのでやってしまえばいいかと。 (レイアウトとかそのまま使えてサイト内ページっぽくなるし) ■環境 Rails 4.0.3 …

Rubyでxls(Excelファイル)を簡単にパースする方法

すごく簡単でドキュメント通りな内容なのですが、非常に便利だったのでメモ。 その名もSpreadsheetというgemを使います。 https://github.com/zdavatz/spreadsheet/blob/master/GUIDE.md # Gemfile gem 'spreadsheet' # vim hoge.rb Spreadsheet.client_enco…

メタプログラミングRubyメモ

Object#extend module MyModule def my_method; 'hello'; end end を使いたいときに class MyClass class << self include MyModule …. end end ↓ class MyClass extend MyModule …. end これでもMyClassの特異メソッドとしてmy_methodを呼べる。 ( MyClass.…

RSpecでsessionを使用したテスト(ログイン機能)

内容としてはajaxのテストを書こうとして、それにはsessionが必要というような場合です。(渡しの場合、ログインしていないとajax通信ができないという仕様でした。) ここけっこう困って、前回こういったsessionを使うテストを実装した際にはgrapeというRai…

Ruby(Rails)からExcelで文字化けしないCSVファイル作成

CSVファイル作成でハマったのでメモ。 今回作ろう思っていたのはリンクになっているボタンを押したらCSVファイルがダウンロードされるという単純なものです。 HTML載せようと思いましたがはてブ内での書き方わからないので省略、、 バージョンはRuby2.0, Rai…

【CentOS6.4】はじめの環境構築 ... plenv, rbenv, tmux, oh-my-zsh

サーバーをいちからやり直さなければならない機会があったのでメモ。 いつもやってる自分の設定をとりあえず入れようかなという感じです。 まず最低限必要な物をyumで入れちゃう。 # yum install -y gcc make wget git zsh openssl-devel # useradd homepage…

【rails3】DBでは改行できているのにテンプレート(view)でうまく表示されない際の解決法

フォームで改行ありの文章を入力→DBでselect文投げて確認→改行できてる! となっているのに、テンプレートで呼び出してみると半角空白になっていたりする場合の解決法。 まず一番重要なのは使っているRailsのバージョン。 Rails2であれば「rails 改行 表示」…

Rails3 + deviseのメール設定

認証機能(サインアップ、ログイン、ログアウトetc)が簡単に実装できるので deviseはよく使うのですが、その時に少しハマったのでメモ。 以下、development環境での設定 /config/environments/development.rb デフォルトではfalseになっているが、 trueにす…

Railsで定数管理

ちょっといま作っているサービスでコンテンツをカテゴリ分けしているのですが、カテゴリがまだ不確定なので、こういうの直にコードに書くよりもyamlファイルとかで定数管理しておいたほうがいいよなーってことで探しました。 settingslogicというのが使えそ…