Rails 3.2.8 を使用しています。ステータス レコードがまだ存在しない場合は、ステータス レコードを作成する必要があります。ステータス レコードが存在する場合は、何もしません。だから私のコードは次のようなものです:
user_level_status = UserLevelStatus.where(user_id: user_id, level_id: level_id).first
if !user_level_status
UserLevelStatus.create(user_id: user_id, level_id: level_id, status: UserLevelStatus::READY)
end
Rails/ActiveRecordでこれを処理するより良い方法はありますか? と同等のメカニズムはありfind_or_create_by_
ますか?を使用find_or_create_by_user_id
して確認することはできますlevel_id
か? 結果を破棄するだけなので、それはそれほどエレガントではありません。