以下のコードを与えると、モデルに対してどのようにデフォルト値を定義できますか。 (名前のデフォルトは「Thing」とします)。 {:名前=> "シング"、:ID => 2} >のではなく:名=> nilのSequelモデルのデフォルト値はどのように設定できますか?
require 'pp'
require 'sequel'
DB = Sequel.sqlite
DB.create_table :items do
primary_key :id
String :name
end
items = DB[ :items ]
class Item < Sequel::Model
end
Item.create :name => 'foobar'
Item.create
pp Item.all
# =>
# >> [#<Item @values={:name=>"foobar", :id=>1}>,
# >> #<Item @values={:name=>nil, :id=>2}>]
だから、私は#<項目@valuesへ=秒作成されたアイテムを設定したいのですが。
あなたは 'after_create'を意味しますか? 'after_initialize'は、作成時にすべてのモデルインスタンス(データベースから取得された新しいインスタンスとインスタンスの両方)に対して呼び出されるプラグインフックのようです。これは主に旧来の互換性のために存在しますが、まだサポートされています。 http://sequel.jeremyevans.net/rdoc/files/doc/model_hooks_rdoc.htmlを参照してください。 –