Rails ActiveRecord Utwórz lub Znajdź

Pracuję nad aplikacją Rails 4, aw mojej metodzie postowej api chcę znaleźć rekord na podstawie tego, co użytkownik próbuje utworzyć, a jeśli nie istnieje, utwórz go i jeśli aktualizuje parametry, które go ma. Napisałem kod, który faktycznie to robi, ale wykonanie go zajmuje trochę czasu. Czy jest jakikolwiek inny sposób na wykonanie dokładnie tej samej rzeczy z możliwie mniejszym kodem lub zapytaniami.

@picture = current_picture.posts.where(post_id: params[:id]).first_or_initialize
@picture.update_attributes(active: true, badge: parameters[:badge], identifier: parameters[:identifier])
render json: @picture

questionAnswers(2)

yourAnswerToTheQuestion