Sequel gem には、save
「レコードを作成または更新する」メソッドがあります。新しいレコードが存在しない場合に新しいレコードを作成したり、既存のレコードのフィールドを更新したりするために使用しようとしています:
record = Records.where(:name => 'Dark Side of the Moon').first
record.save(:artist => "Pink Floyd")
Records.where(:name => 'Dark Side of the Moon')
空の Record オブジェクトではなく nil を返すため、これは失敗します。基本的に、私はこのメソッドを として使用していますが、メソッドはモデル インスタンス メソッドであるupsert
ため、この方法では機能しません。save
私の質問は 2 つあります: (1) を使用する正しい方法は何save
ですか? (2) Sequel にはレコードを「アップサート」する方法がありますか?