gpt4 book ai didi

sql - 请帮我纠正这个 Rails/ruby 方法吗?

转载 作者:行者123 更新时间:2023-11-29 15:05:43 25 4
gpt4 key购买 nike

我有一个带有可标记 gem 的后模型。两个表都有时间戳。

我从

开始
def tags
@posts = current_user.posts.find_tagged_with(params[:tag], :order => "@posts.tags.updated_at DESC"])
end

当这不起作用时,我尝试改变一些东西,但最终陷入了困境。

def tags
@posts = current_user.posts.find_tagged_with(params[:tag])
@tags = @posts.tags.all
@posts = @tags(params[:tag, :order => "@posts.tags.updated_at DESC"])
end

我基本上想按标签上次更新的时间进行排序。

奖励:按 tag.updated_at 或 post.updated_at 排序,但在这个特定的应用程序中,我将更新最多的标签,因此只需第一个就可以了。

感谢任何帮助。

最佳答案

您必须在 find 语句中加入 tags 表:

def tags
@posts = Post.find_tagged_with(
params[:tag],
:conditions => {:user_id => current_user.id},
:joins => :tags,
:order => 'tags.updated_at DESC',
:group => 'posts.id'
)
end

注意:找到正确的条件以仅选择当前用户的帖子。不过,这个例子可以工作。

关于sql - 请帮我纠正这个 Rails/ruby 方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2138941/

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