diff --git a/app/models/post.rb b/app/models/post.rb index 3157d1a..17d9af6 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -28,10 +28,10 @@ class Post < ApplicationRecord end def limit_of_post_per_day - posts_from_day = user.posts.where('created_at >= ?', Time.zone.now.beginning_of_day) + posts_from_day = user&.posts&.where('created_at >= ?', Time.zone.now.beginning_of_day) - if posts_from_day.count >= 5 - errors.add(:base, 'You can post only 5 posts per day') - end + return if posts_from_day && posts_from_day.count < 5 + + errors.add(:base, 'You can post only 5 posts per day') end end diff --git a/spec/requests/posts_spec.rb b/spec/requests/posts_spec.rb index da2237d..c76ef02 100644 --- a/spec/requests/posts_spec.rb +++ b/spec/requests/posts_spec.rb @@ -24,7 +24,7 @@ RSpec.describe "/posts", type: :request do let(:invalid_attributes) { { - content: "Quo dolorem recusandae. Vero laborum deleniti. Qui ipsam illum." + content: "Quo dolorem recusandae. Vero laborum deleniti. Qui ipsam illum." } }