2007/11/04

Rails: LoginEngine

Railsに認証機能を追加するplugin(engine)。

LoginEngineを使ってみる

を参考にインストールして設定を進めていくと、ユーザのテーブルshemaのインポートでコケる。READMEも内容が古くてマチガイだらけ。

config/environmtn.rbに以下の設定を追加。
Rails::Initializer.run do |config|
..中略..
# config.plugins = %W( exception_notification ssl_requirement )
config.plugins = ["engines", "*"]
..中略..
end

require File.join(RAILS_ROOT, "vendor", "plugins", "engines", "lib", "engines", "deprecated_config_support")

module LoginEngine
config :salt, "mysalt"
config :email_from, "foo@company.co.jp"
config :admin_email, "foo@company.co.jp"
config :app_name, "ermgr"
end

#Engine.start :login

Engine.start :login はいらないらしい。
usersテーブルを作成するには、
rake engine_migrate ENGINE=login

でなく、
$ script/generate plugin_migration
create db/migrate
create db/migrate/001_login_engine_to_version_1.rb

を実行する。001_login_engine_to_version_1.rb ができて以下のテーブルが追加される。
plugin_schema_info
schema_info

以下のrakeコマンドを実行すると、
$ rake db:migrate ENGINE=login
(in /home/kaori/ermgr)
== LoginEngineToVersion1: migrating ===========================================
== InitialSchema: migrating ===================================================
-- create_table("users", {:force=>true})
-> 0.1120s
== InitialSchema: migrated (0.1130s) ==========================================

== LoginEngineToVersion1: migrated (0.1780s) ==================================

最終的に users テーブルが追加される。テーブルのcolumnは下図の通り。

Rubyist - pulscope.ruby - Rails 1.2.3でEngines及びLogin Engineプラグインを利用する

が参考になる。


0 件のコメント: