レコードの追加時に増加し、レコードの削除時に減少し、手動で変更できないRailsでのスキャフォールディングを通じてシリアル番号(SNO)列を作成する方法はありますか?Railsの足場にオートインクリメントのSNO列を追加する?
0
A
答えて
0
モデルにサマリー列を作成する場合は、このロジックをモデルに配置する必要があります。 (標準の自動インクリメントフィールドのように)、この方法では組み込まれていないがありますが、簡単に追加することができます。
class Parent << ActiveRecord::Base
# Contains a field: summary_field
end
class Child << ActiveRecord::Base
after_save => :increment_summary
before_destroy => :decrement_summary
def increment_summary
Parent.find(self.id).summary_field.increment
end
def decrement_summary
Parent.find(self.id).summary_field.decrement
end
end
1
それが関与どんな関係があるかどうかは明らかではないが、counter_cacheが良いかもしれように聞こえますフィット。
Railscast episodeには、コード例とビデオチュートリアルがあります。
SNO列とは何ですか? –
シリアル番号列 – Arc