Rails1.2.3でUser Engineの利用
http://rubyist.g.hatena.ne.jp/pulscope/20070327/p1のおかげでEnginesとLogin Engineは使えるようになったんですが、User Engineも使いたいってことで、以下その利用法。
Railsのバージョンはもちろん1.2.3です。
プラグインのインストール
まずはプラグインのインストール
$ script/plugin discover $ script/plugin install engines $ script/plugin install login_engine $ script/plugin install user_engine
プラグインのロード
続いて、プラグインのロードです。
config/environment.rb
Rails::Initializer.run do |config| config.plugins = [ "engines", "*" ] end
Login EngineおよびUser Engineの設定
まず、configメソッドを呼ぶためにenvironment.rbに以下を追記
require File.join(RAILS_ROOT, "vendor", "plugins", "engines", "lib", "engines", "deprecated_config_support")
そして、Login Engineの設定
config/environment.rb
module LoginEngine config :salt, "<salt>" config :app_name, "<app_name>" config :use_email_notification, false config :user_table, "users" end
ここまでは、http://rubyist.g.hatena.ne.jp/pulscope/20070327/p1に詳しく書かれています。
そしてここからUser Engineの設定です。
config/environment.rb
module Engines config :root, RAILS_ROOT + "/vendor/plugins" end module UserEngine config :role_table, "roles" config :permission_table, "permissions" config :user_role_table, "users_roles" config :permission_role_table, "permissions_roles" config :guest_role_name, "Guest" config :user_role_name, "User" config :admin_role_name, "Admin" config :admin_login, "<admin_name>" config :admin_email, "<admin_email_address>" config :admin_password, "<admin_password>" end require 'user_engine' UserEngine.check_system_roles
configでいろいろ書いてるのはほとんどマイグレーションのためです。
roleとかpermissionのテーブル名を書いてあげないとエラーが出ます。
また、<>で括っているところは各自で適当な文字列を入れてください。
User Engineのマイグレーション
まずはマイグレーションファイルの作成
$ script/generate plugin_migration
で、マイグレーションファイルができます。
そして、マイグレーションです。
$ rake db:migrate
これで、マイグレーション完了ですが、User Engineではroleやpermissionの設定のために以下を実行します。
$ rake bootstrap
このときに、さきほど設定したadminのユーザも追加されます。
Controller, Helperの設定
User Engineを利用するためにControllerとHelperに以下を記述します。
app/controller/application.rb
require 'login_engine' class ApplicationController < ActionController::Base before_filter :authorize_action include LoginEngine include UserEngine helper :user model :user end
app/helper/application.rb
module ApplicationHelper include LoginEngine include UserEngine end
おわり
以上で設定終了です。
Raisが以前のバージョンの場合と同様にUser Engineが利用できるはずです。
何か間違いなどありましたら言ってください。