l'essentiel est invisible pour les yeux

Wednesday, June 14, 2006

[Rails] controller/model/viewを内包したプラグインの作り方

via http://habtm.com/articles/2006/06/11/having-your-plugins-and-eating-them-too

contoller, model, view, helperなどをMVCのサブセットを含むプラグインを作るときEnginesプラグインを使う以外にも$LOAD_PATHを上書きしてやるだけでそちらを読み込むようになる。

# init.rb

config.controller_paths << File.join(directory, 'app', 'controllers')
$LOAD_PATH << File.join(directory, 'app', 'controllers')
$LOAD_PATH << File.join(directory, 'app', 'models')
$LOAD_PATH << File.join(directory, 'app', 'helpers')


さらにcontrllerでviewのパスを次のように設定しないとtemplate missingになる。
LoginController.template_root = File.join(File.dirname(__FILE__), '..', 'views')