Module: Liking::LikesHelper

Defined in:
app/helpers/liking/likes_helper.rb

Instance Method Summary collapse

Instance Method Details

#like_for(resource) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'app/helpers/liking/likes_helper.rb', line 6

def like_for resource

  user_ids = Like.where(:resource_id => resource.id, :resource_type => resource.class).pluck(:user_id)

  if user_ids.empty?
    link_to "<i class='icon-heart'></i> #{t 'liking.like'}".html_safe,
            liking.polymorphic_path(:like, resource.class.to_s.foreign_key => resource.id),
              :method => :post,
              :class => "btn btn-small"
  elsif current_user and user_ids.include?(current_user.id)
    link_to "<i class='icon-heart icon-red'></i> #{user_ids.size} #{t 'liking.like'}".html_safe,
            liking.polymorphic_path(:like, resource.class.to_s.foreign_key => resource.id),
              :method => :delete,
              :class => "btn btn-small"
  else
    link_to "<i class='icon-heart'></i> #{user_ids.size} #{t 'liking.like'}".html_safe,
            liking.polymorphic_path(:like, resource.class.to_s.foreign_key => resource.id),
              :method => :post,
              :class => "btn btn-small"
  end
end