Rails - 使用帖子#Index视图仅显示'喜欢'的帖子

问题描述 投票:0回答:1

由于posts的索引视图具有相同的代码,因此我在帖子控制器#liked中有一个动作,它保存了所有current_user的喜欢帖子。我正在尝试redirect_to posts_path(@posts),但由于某种原因索引视图仍然有@posts返回所有帖子..?我确定这里有某种铁轨魔术。

我已经检查了我的#liked方法并成功保存了@posts中只有喜欢的帖子,但重定向只是没有从这个动作传递@posts,而是从原来的#index动作。

想法?

ruby-on-rails controller
1个回答
4
投票

奥斯汀伯克,我假设你在帖子控制器中有以下两种方法:

def posts @posts = Post.all end

第二种方法:

def liked @liked_posts = [post1, post2] end

你应该做:

def posts @liked_posts = Post.where(liked: true) end

原因是你正在使用redirect_to posts_path(@posts)调用posts控制器的索引方法。帖子控制器的这种索引方法应该使用@liked_posts

© www.soinside.com 2019 - 2024. All rights reserved.