I have a standard many-to-many relationship between users and roles in my Rails app:
class User < ActiveRecord::Base has_many :user_roles has_many :ro
I think you want to do something like:
user.roles.find_or_create_by(role_id: role.id) # saves association to database user.roles.find_or_initialize_by(role_id: role.id) # builds association to be saved later