2015年2月20日金曜日

raspbianでのswapファイルサイズの変更

/etc/dphys-swapfileの中の
以下のパラメータを変更する。
※MB単位です。


CONF_SWAPSIZE=100

.vimをdotfilesで管理している時のneobundleのインストールshell

dotfilesディレクトリを作成して.bashrcや.rubocop.ymlや.vimを管理している人がいると思いますが。
.vim以下にgitリポジトリを別で持つと面倒なので(submoduleでできると思うけど)、.vim/bundle/以下をあとからshellでインストールするようにします。

想定している構造はこんな感じ。

/dotfiles/.git/
/dotfiles/.gitignore
/dotfiles/vim/
/dotfiles/bashrc
                :

まずは.gitignoreに/vim/bundle以下を管理しないように記述。

/vim/bundle


以下のシェルファイルをdotfiles以下に記述


=====install_neobundle.sh======
#!/bin/sh

PWD=$(dirname $(readlink -f $0))

if ! [ -d ${PWD}/vim/bundle ]
then

  mkdir ${PWD}/vim/bundle/
  cd ${PWD}/vim/bundle
  git clone https://github.com/Shougo/neobundle.vim

fi

exit 0
===========

新環境で利用する際には、展開後にshellを実行して。

vimで:NeoBundleInstallを実行する。

2015年2月8日日曜日

ActiveRecord Enumとselect boxの連携でrails_configを使う

環境は以下になります。
ruby: 2.2.0
rails: 4.2

config(旧rails config)をインストールします。
(settinglsogicでも利用できる方法だと思います)
Gemfileに以下の記述を追記します。

gem 'config'

gemをインストールします。

$ bundle install

rails_configをrailsにインストールします。

$ bundle exec rails g config:install

今回はtestdata(モデル)にstatus(カラム)を設定してenumを利用します。
scaffoldを作成します。

$ bundle exec rails g scaffold testdata status:integer

statusで利用するリストをconfig/settings.ymlに記述します。

model:
  testdata:
    status:
      admin: 10
      normal: 20
      guest: 30

記述に対してデータを設定します。
app/model/testdatum.rbに記述します。

class Testdatum < ActiveRecord::Base
  enum status: Settings.model.testdata.status
end

設定したデータをviewフォームに適応します。
app/view/testdata/_form.html.erbでの該当のフォームを以下の記述に変更します。
selectedも同時に設定します。



  <%= f.label :status %>
  <%= f.select :status, @testdatum.statuses.keys , selected: @testdatum.status %>