2007年12月05日

Ruby on Railsで単純アプリケーション開発3

昨日の続きになりますが、
探したところ似たようなものとして、"acts_as_sequenced.rb"というものがありました。

↓の方が作成されているものです。
http://www.depixelate.com/2006/7/19/acts-as-sequenced

↑にあるソースをコピーして、/lib/acts_as_sequenced.rbとしてコピーして使用します。

が、なぜかしらんEclipseのRadRailsでは29行目の
"#{configuration[:scope].to_s} = #{{configuration[:scope].to_s}}"
がエラーになったので、
"#{configuration[:scope].to_s} = #{configuration[:scope].to_s}"
としました。

そして、environment.rbの末尾に
require 'acts_as_sequenced.rb'
を追加しました。

さらにさらに
/app/models/denpyo_meisai.rb

class DenpyoMeisai < ActiveRecord::Base
acts_as_sequenced :column => :meisai_no, :scope => 'denpyo_no = #{denpyo_no}'
end
のように編集して、レコード追加(create)をしたところ
SELECT max(meisai_no) AS max_meisai_no FROM denpyo_meisais WHERE (denpyo_no = 1)
というSQLを自動的に発行して伝票番号毎の連番を明細番号にふってくれました。

これを改造すればできそうだなあ猫
posted by 台北猫々 at 23:28| Comment(0) | TrackBack(0) | 技術メモ(Ruby)