I'm using Rails 3.2.8. I need to create a status record if a status record doesn't already exist. If a status record exists, I don't do anything. So my code is something like this:
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
Is there a better way to handle this in Rails/ActiveRecord? Is there an equivalent mechanism as find_or_create_by_
? Can I use find_or_create_by_user_id
and also check for level_id
? I would just be discarding the results so even that's not so elegant.