Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

rails 3 find or create based on multiple fields

I am trying to implement a simple tagging system using a tag virtual attribute on a notes object. a tag contains a label and a user_id. what I would like to do is update the HABTM to relationship to the note based on what is in the tags field. I know about the find_or_create_by_X methods, is there something similar I can do with 2 fields i.e., if the label & user_id are unique, create a new tag, else get a tag where the label and user id match. Also is there a similar way of handling the removal of tags?

like image 588
GSto Avatar asked Jan 20 '11 00:01

GSto


1 Answers

You can chain fields together using _and_:

Tag.find_or_create_by_label_and_user_id(label_param, user_id_param)
like image 90
vonconrad Avatar answered Nov 04 '22 23:11

vonconrad