Class: RailsPulse::TagsController

Inherits:
ApplicationController show all
Defined in:
app/controllers/rails_pulse/tags_controller.rb

Instance Method Summary collapse

Methods inherited from ApplicationController

#set_global_filters, #set_pagination_limit

Instance Method Details

#createObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'app/controllers/rails_pulse/tags_controller.rb', line 5

def create
  tag = params[:tag]

  if tag.blank?
    render turbo_stream: turbo_stream.replace("tag_manager_#{@taggable.class.name.demodulize.underscore}_#{@taggable.id}",
      partial: "rails_pulse/tags/tag_manager",
      locals: { taggable: @taggable, error: "Tag cannot be blank" })
    return
  end

  @taggable.add_tag(tag)
  @taggable.reload

  render turbo_stream: turbo_stream.replace("tag_manager_#{@taggable.class.name.demodulize.underscore}_#{@taggable.id}",
    partial: "rails_pulse/tags/tag_manager",
    locals: { taggable: @taggable })
end

#destroyObject



23
24
25
26
27
28
29
30
31
# File 'app/controllers/rails_pulse/tags_controller.rb', line 23

def destroy
  tag = params[:tag]
  @taggable.remove_tag(tag)
  @taggable.reload

  render turbo_stream: turbo_stream.replace("tag_manager_#{@taggable.class.name.demodulize.underscore}_#{@taggable.id}",
    partial: "rails_pulse/tags/tag_manager",
    locals: { taggable: @taggable })
end