Я хочу, чтобы реорганизовать этот код:Refactor рубин код, основанный на админа присутствует или нет
def self.find_posts(page, per_page, author_id, user)
if user.admin?
paginate(page: page, per_page: per_page) #fetches on the basis of per_page
else
paginate(page: page, per_page: per_page).where(author: author_id) #Based on author_id
end
end
Post.paginate(page: page, per_page: per_page)
повторяется два раза, так что я хотел, чтобы удалить его.
Вот что я пробовал:
def self.find_posts(page, per_page, author_id, user)
paginate(page: page, per_page: per_page) #fetches the no of per_page
if user.admin?
#not getting what should I write here
else
where(author: author_id) #Based on author_id
end
end
Этот код также не работает, который я знаю, что paginate
не последнее предложение. Я мог бы использовать return
, но почему-то я не понимаю, как это сделать.
Добро пожаловать в переполнение стека. Пожалуйста, не просите о помощи. Переполнение стека существует, чтобы помочь людям. Поблагодарить нас тоже не нужно, так как SO не является дискуссионным форумом, это скорее справочник, в котором вы помогаете писать статьи об устранении определенных проблем программирования. –