module UploadifyRails::Models::Parent::InstanceMethods
Public Instance Methods
build_attributes_from_params(params, user, session_id)
click to toggle source
# File lib/uploadify_rails/models/parent.rb, line 25 def build_attributes_from_params(params, user, session_id) parent_class_singular = self.class.to_s.singularize.downcase relation_name = uploadify_options[:relations].first.to_s relation_singular = relation_name.singularize relation_model = relation_singular.classify.constantize params[parent_class_singular].delete("#{relation_name}_attributes") self.attributes = params[parent_class_singular] self.user_id = user ? user.id : nil self.session_id = session_id object_ids = params["#{relation_singular}_ids"] if object_ids && !object_ids.blank? checked_object_ids = [] object_ids.first.values.each do |object_id| object = relation_model.find_by_id(object_id) if object if (object.session_id == session_id ||(user && user.id == object.user_id)) checked_object_ids << object_id object.update_attribute(:user_id, user.id) if user end end end self.send("#{relation_singular}_ids=", checked_object_ids) end end