I have a model called User with the has_many relation to UserFilter . UserFilter is related to User .
Within the User model, I have a method called update_user_filters(filter_params_array)
This method modifies user_filters somehow like this
def update_user_filters(filter_params_array) new_filters = [] old_filter = user_filters filters_params_array.each do |filter_params| if filter_params[:id].blank?
Sets user_filters expected value, but when saving it does not update user_filters in db.
however, if I change the assignment to the following, this will happen. Can someone explain why this is?
self.user_filters = new_filters
Note that when I first refer to user_filters , the model has a choice in db, so I'm not sure how this local method works differently with self and without self
ruby ruby-on-rails
Will Aug 18 '09 at 20:56 2009-08-18 20:56
source share