GSto
GSto

Reputation: 42350

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?

Upvotes: 5

Views: 3790

Answers (1)

vonconrad
vonconrad

Reputation: 25367

You can chain fields together using _and_:

Tag.find_or_create_by_label_and_user_id(label_param, user_id_param)

Upvotes: 11

Related Questions