gpt4 book ai didi

ruby-on-rails - 根据管理员是否在场重构 ruby​​ 代码

转载 作者:太空宇宙 更新时间:2023-11-03 16:19:33 24 4
gpt4 key购买 nike

我想重构这段代码:

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 但不知何故我不明白该怎么做。

最佳答案

我会写:

def self.find_posts(page, per_page, author_id, user)
posts = user.admin? ? Post.all : Post.where(author: author_id)
posts.paginate(page: page, per_page: per_page)
end

关于ruby-on-rails - 根据管理员是否在场重构 ruby​​ 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36484460/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com