探したところ似たようなものとして、"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を自動的に発行して伝票番号毎の連番を明細番号にふってくれました。
これを改造すればできそうだなあ
