平衡点


2007/10/01

_ ARFixture と yaml_waml

ARFixture は, 現在の DB の内容を test/fixtures 以下へ yaml として出力するための Rails の plugin. 結構便利なんだけれども, Ruby の to_yaml は 2byte データを binary にして出力するので DB に日本語とか入っていると悲しくなります. binary にせずに出力するのが yaml_waml.

導入

yaml_waml の svn repositry の構造がちょっと変なので rename.

$ ruby script/plugin install ar_fixtures
$ cd vender/plugin
$ svn co http://yaml-waml.googlecode.com/svn/trunk/yaml_waml/tags/rel/0.1.0/
$ mv 0.1.0 yaml_waml

使い方

DB から fixtures へ.

$ rake db:fixtures:dump MODEL=ModelName

みたいに. migrate と組み合わせれば

$ rake db:fixtures:dump MODEL=ModelName
$ rake db:migrate VERSION=000
$ rake db:migrate
$ rake db:fixtures:load MODEL=Book

となって大変便利だ.

_ plugin でのユーザ認証

ユーザ認証に LoginEngine を使おうとしたら, Rails 1.2 から設定が少し変わっていたのでメモ. 1.2 系からは Engine システムがうまく動かなくなったし, LoginEngine もメンテナンスは停止している.

どうも acts_as_authenticated を使うのが流行らしい.

acts_as_authenticated を使う場合

導入と設定

plugin なんで,

$ ruby script/plugin install acts_as_authenticated

で install される. install 後に表示される手順に従って

$ ruby script/generate authenticated user account

でユーザ情報を表わす User モデルと User を操作する AccountController, 付随する view と test が生成される. migration も生成されるので

$ rake db:migrate

すると良い.

詳細は acts_as_authenticated とは を参考に.

それでもLoginEngine を使う場合

現在出版されている書籍の大半ではユーザ認証に LoginEngine を使っているので.

導入

install の方法は変わらない.

$ ruby script/plugin install engines
$ ruby script/plugin install logine_engine
設定

vender/plugin 以下に配置された plugin は勝手に load される.

LoginEngine の設定自体は config/environment.rb にこれまでと同様に

# ---
# LoginEngine
# ---
module LoginEneinge
  config :salt, "hogehero"
  config :use_email_notification, false
end

みたいに記述する. だけど デフォルトで config メソッドが呼ばれないらしいので, パスを追加する.

# Bootstrap the Rails environment, frameworks, and default configuration
require File.join(File.dirname(__FILE__), 'boot')
# の下あたりに, plugin 用に PATH の追加
require File.join(RAILS_ROOT, "vendor", "plugins", "engines", "lib", "engines", "deprecated_config_support")

とする.

Migration の方法はこれまでの

$ rake engine_migrate ENGINE=login

ではなくて

$ ruby script/generate plugin_migration login_engine

とすれば良い.

Controller, Helper の設定は変わらない.

あと view で CSS を include するタグが変わっていて

<%= engine_stylesheet 'login_engine' %>

から

<%= stylesheet_ling_tag "login_engine", :plugin => "login_engine" %>

に変更になっている.

これで使える


連絡先など
最近の日記
  • 2024/04/28
    • 1. CF-SR3 での生活環境構築 (できてない)
  • 2024/03/29
    • 1. Debian GNU/Linux on CF-SR3
  • 2024/03/25
    • 1. org-mode → beamer でのリスト記号の一時変更
  • 2024/03/22
    • 1. 静的htmlによるGit Repository Browser
  • 2024/02/15
    • 1. org-mode → bemaer での番号付きリスト
一覧
2006|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|02|03|04|08|09|10|11|12|
2013|01|02|03|04|05|06|08|09|10|11|12|
2014|01|02|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|09|10|
2016|02|03|
2017|01|02|03|05|06|07|09|11|12|
2018|03|06|07|10|11|12|
2019|01|02|03|04|05|07|10|12|
2020|01|02|03|04|05|08|09|10|11|12|
2021|01|02|03|05|06|07|08|09|11|12|
2022|01|02|03|04|05|06|08|10|11|12|
2023|02|03|04|06|08|09|11|12|
2024|01|02|03|04|
Back to Top ▲