とあるサービス開発の記録

とあるサービス開発の忘備録です

Vagrantの開発環境がとんだ!

いつもMac book airVagrantを入れて開発しています。 Macのバッテリーが10%など、低下するとエネルギー消費が大きいプロセスがOSから操作されますよね?(ここ間違えてたらゴメンなさい) よく、Vagrantが落とされるのですが、今日はVagrantを立ち上げたら初期化された状態に。。。 ???こんなことってあるんですね。

Vagrant使っているものの、開発環境の構築は手動なので2時間コースで復帰中です。 電車内ではテザリングがきついため、ぼーっと帰ってました。

ついてなー。でも復帰したぞ!

CMSは何がいいのだろうか

アフィリエイターやちょっとしたサイトではWordpressがはやっている。 ちょっとしたサイトを作るたびにWordpressが候補になる。 日記やブログならいいんだろうけど、会社でサービスを作るときに 最初はWordpress、あとから作り直せばいいという流れがベースとしてあって、 それは記事を投稿する機能がないから毎回そういう選択をせざるをえないんだと思う。 なのでCMSを作って認証・認可も作ってWordpressと同等のことをできるようにした。

で、それをとあるサービスで使って、上々に動いているけど横展開で使うにはインストーラー等がなくて億劫になっている今日このごろです。

あけましておめでとうございます。

さて、to_json使うときにリレイーション先のモデルも展開する場合は下のように書くと良いのでメモ。

xxxmodel.to_json(:include => {:size => { :only => ['name'] }})

参考サイト。ありがとうございます。

json出力のカスタマイズ - リンゴの水やり?(はてな)

後で読む

後で読む。

Railsを触る際知っていると便利なRubyの基礎 [ブロックとかシンボルとか] - Qiita

Railsで楽観的ロックをする方法

実際に試していないけど、 「ActiveRecordでは規約により、テーブルにlock_versionというカラムを追加すると楽観的ロックが有効になる。」 とのこと。

便利だー。これ知らなかったらcreated_atやupdated_atで手動で制御してました。

参考

ActiveRecordによる楽観的ロック | Ruby on Rails 備忘録 - Ride On Rails

railsのbetter_errorsの導入

デバッグ画面でデバッグをしやすくするためbetter_errorsを導入しました。

手順

  • Gemfile
  group :development do
    gem 'better_errors'
    gem 'binding_of_caller' # その場でデバッグするには必要
  end
  • config/environments/development.rb
    • vagrantでゲストが192.168.33.10のとき
       BetterErrors::Middleware.allow_ip! "192.168.33.1"

参考サイト(ありがとうございました)

Rails - better_errorsがvagrantで動作しない対処 - Qiita