Rails を真似て作られたといわれている CakePHP で、 部分テンプレートの使用例を説明します。 英語ドキュメントを見ると正しく設定できるのですが、 日本語ドキュメントは古い状態なので、日本語ドキュメントを見ていると解決できません。
続きを読む CakePHP3 rails のように部分テンプレートを使用する方法Kenji のすべての投稿
Rails seed から task を実行したときの方法
Rails の seeds.rb
で task を実行したいとのことで、 やり方を調べました。
環境
- Ruby 2.2.2p95
- Rails 4.1.8
- Rake 10.4.2
rails g task sample shot
とコマンドを実行して、タスクを作っておきます。 下のように。
1 2 3 4 5 6 |
namespace :sample do desc "shot sample" task shot: :environment do # something what to do end end |
タスク自体は bundle exec rake sample:shot
で実行できます。 これを更に bundle exec rake db:seed
とやったときにも実行されるようにするのが今回のゴールです。 おそらく、 rails のコード内から task を実行するのも似たような感じでいけると思います。
解決策
seeds.rb
に下の記述を追加します。
1 2 |
ENV['SOMETHING'] = 'value' Rake::Task['sample:shot'].invoke |
環境 (test, development, production) は、 rake db:seed
で設定されたものが引き継がれます。 上では SOMETHING
に 'value'
という値を設定しています。 rake db:fixture:load FIXTURES=xxxx
で設定するようなやつです。
CakePHP3 migration で 自動的にできるidカラムのAUTO_INCREMENTを止める方法
CakePHP3 で 自動的にできる id カラムの AUTO_INCREMENT を止める方法について調べました。
続きを読む CakePHP3 migration で 自動的にできるidカラムのAUTO_INCREMENTを止める方法Xterm で日本語を表示した方法
ウインドウマネージャ openbox 上 で xterm を使っていると、 日本語の太字が文字化けして表示されないことがあります。 Ubuntu などに日本語環境をインストールして xterm を使ったりするとそうなります。 ここでは、私が xterm で日本語を表示できるようにした方法を紹介します。 (uxterm でも同じです。)
メニューの設定
xterm 起動時にオプションを設定することで日本語の文字化けを解消します。 そこで、 メニューから開かれる xterm のコマンドを変更します。 LXDE や gnome などの ウインドウマネージャ だと、 右クリックからプロパティを開いて変更できます。 そこでコマンドを xterm -fwb Sans
にすれば、 ワイド文字の Bold は Sans が使われて表示されるようになります。
私の場合は、 openbox を使っていて、 更に “Terminal emulator” メニューで出てくる LXTerminal を xterm に変えたかったので下のようにしました。
1 2 |
mkdir -p ~/.config/openbox cp /etc/xdg/openbox/menu.xml ~/.config/openbox |
このようにしてメニューを変更する準備をした上で、 ~/.config/openbox/menu.xml
の該当箇所を xterm の機動コマンドに書き換えます。
CakePHP3 環境ごとに設定ファイルを分ける方法
CakePHP3 version 3.0.9 で環境ごとに設定ファイルを分ける方法について書きます。 FuelPHP だと app/config/development
などの中に 上書きする設定ファイルを記述しますね。
CakePHP3 で環境ごとに設定ファイルを作る場合にも config/development
というディレクトリを作って対処するのがいいと思います。 でも、既存のコードではできないので少し手を加えます。