I was previously adding my current user id to my tracks via the track controller’s create method using:
@track.user_id = current_user.id
This worked fine, however, i’ve now nested tracks within my releases model and am trying to do the same via callbacks in my releases model using:
before_save :add_user_to_tracks
before_update :add_user_to_tracks
def add_user_to_tracks
tracks.each { |t| t.user_id = self.current_user.id}
end
I get an undefined method `current_user’ error, however, I know this is very close to working as if I test it using “99” instead of self.current_user.id it adds 99 to the user_id for each track in the db.
Any ideas why I can’t access current_user.id
I think you should send user_id from your form using hidden field.
If you don’t have user_id in Release model. You can create it as virtual attribute.