Module: AssignsHasManyThroughRelations::ControllerInstanceMethods

Defined in:
lib/assigns_has_many_through_relations/controller_concern.rb

Instance Method Summary collapse

Instance Method Details

#indexObject



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/assigns_has_many_through_relations/controller_concern.rb', line 24

def index
  @left_side_models = AHMTR.left_relation_scope.call(
    self.class.left_relation_class,
    current_user
  )
  @selected_left_side_model = self.class.left_relation_class.find params[:id]
  @left_side_models = @left_side_models - [@selected_left_side_model]
  
  @selected_right_side_models = AHMTR.selected_right_relation_scope.call(
    @selected_left_side_model,
    self.class.right_relation_class,
    current_user
  )

  @available_right_side_models = AHMTR.available_right_relation_scope.call(
    self.class.right_relation_class,
    @selected_right_side_models,
    current_user 
  )
end

#updateObject



45
46
47
48
49
50
51
52
53
54
55
# File 'lib/assigns_has_many_through_relations/controller_concern.rb', line 45

def update
  left_side_model = self.class.left_relation_class.find params[:id]

  if left_side_model.update_attributes params[self.class.left_relation_param_name]
    flash[:notice] = "Successfully set #{self.class.left_relation_param_name} assignments"
  else
    flash[:error] = left_side_model.errors.full_messages.to_sentence
  end

  redirect_to :back
end