Skip to content

Commit e0453c1

Browse files
committed
enforce Like uniqueness at model instead of at the controller
1 parent 64a5180 commit e0453c1

File tree

2 files changed

+2
-1
lines changed

2 files changed

+2
-1
lines changed

app/controllers/likes_controller.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ def index
88

99
def create
1010
@likeable = find_likeable
11-
@likeable.likes.create!(user: current_user) unless current_user.likes?(@likeable)
11+
@likeable.likes.create(user: current_user)
1212
respond_to do |format|
1313
format.js { render(json: @likeable.likes_count, status: :ok) }
1414
end

app/models/like.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@ class Like < ActiveRecord::Base
44

55
validates :user, presence: true
66
validates :likable, presence: true
7+
validates_uniqueness_of :user, scope: [:likable_type, :likable_id]
78
end

0 commit comments

Comments
 (0)