sessionをmemcachedでやーろおっと思ってググてみたらDalliが良いカンジらしいとのこと。
というわけで書いてある通りにインスコしてcache設定してsession設定してってしてみたところ
`require’: cannot load such file — memcache (LoadError)
て言われちゃう。ぐぬぬ。
ちょろとググってみたところinitializers/session_store.rbの
Rails.application.config.session_store ActionDispatch::Session::CacheStore
これを
require 'action_dispatch/middleware/session/dalli_store' Rails.application.config.session_store :dalli_store
てカンジでOKらしい。
けど、これだと環境毎のcache設定で切り替わらない気がする。(よく調べてないけど。)
というわけで、sessionのconfigは元に戻してー、何も考えずにエラーを見ての通り’memcache’がloadできればええんやろーってわけでGemfileに追記
gem 'memcache'
解決したぞう。わあい。
調べたらすぐ出てきたけどいちおうメモっとく。
namespace :deploy do desc "Load the seed data from db/seeds.rb" task :seed do run "cd #{current_path}; bundle exec rake db:seed RAILS_ENV=#{rails_env}" end end
↑deploy.rbでこんなん追加。
ichi% cap -T 〜略〜 cap deploy:seed # Load the seed data from db/seeds.rb 〜略〜
capタスクに追加された。
これで「cap deploy:seed」でdeploy先で「rake db:seed」できる(はず)。
自分の場合、migrate後に勝手にやってほしいので、deploy.rbに以下を追加してる。
after 'deploy:migrate', 'deploy:seed'
これでdeploy:coldなんかでdeploy:migrateが走った後にdeploy:seedも走るようになるよ!
わあい。
kennyjのブログ(仮): rails3.0の頃からvalidationにコンテキストを指定できる様になってた
↑の記事を読んで、おおこりゃいいやと思いつつ使ってみた時に気づいたことメモ。
@hoge.update_attributes(params[:hoge], context: :foo)
何も考えずにupdate_attributesにも:contextオプション指定できるかなー?と思ってやってみた。
→ :updateコンテキスト(デフォ)扱いされる。
@hoge.attributes = params[:hoge] @hoge.save(context: :foo)
attributes= してからsaveしてみた。
→ やったー。:fooコンテキスト扱いされたよー。
railsのdocumentちろっと見てみたらupdate_attributesの引数は1個しかないみたいなんで当たり前っちゃ当たり前なんですが、なんかrailsだとこのくらいサクっといけてしまうんじゃなかろうかて気がしたのでやってみたというね。