ruby on rails - Checking if instance of model already exists with certain paremeters -
in application want check see whether or not concert model exists same artist , date fields review model. if want add review concert, if not want create new concert , review, because concert has_many reviews , reviews belongs_to concert...
so wrote exists? function in concert controller:
def exists(@artist, @date)? @concert_exists = @concerts.find_by_artist_and_date(artist: @artist, date: @date) if @concert_exists.nil? return false else return true end end
and in review controller i'm trying create function:
def create if concert.exists(review_params[:artist], review_params[:date])? #add review concert else @concert = concert.create(:artist => "artist", :venue => "venue", :date => "2014-2-2") @review = @concert.reviews.create(review_params) @concert.artist = @review.artist @concert.venue = @review.venue @concert.date = @review.date @concert.save end end
i keep getting error says
"syntax error, unexpected keyword_else"
is implementation incorrect , there easier way i'm attempting?
rails has method find_or_create_by don't need re-invent wheel
@concert = concert.find_or_create_by(artist: @artist, venue: "venue", date: @date) @concert.reviews.create(review_params)
Comments
Post a Comment