我有rails项目,其中用户有时间轴,其中包括他/她关注的用户的帖子。 我在Post模型中创建了一个代码:
scope :of_followed_users, -> (following_users) { where user_id: following_users }
所以我可以像这样在PostController中显示帖子:
@posts = Post.where(user_id: @current_user.following)order('created_at DESC').paginate(page: params[:page], per_page: 20)
但问题是我希望用户也能在时间轴上看到他/她的帖子。这样做的最佳做法是什么?我必须先跟随自己吗?我尝试使用user_id: [@current_user.following, @current_user]
的数组,但它只显示了current_user的帖子。我怎么能这样做?
非常感谢!
答案 0 :(得分:1)
尝试以下查询
library(tidyverse)
library(fs)
result <- dir_map(path = 'Data', fun = function(filepath) {
read_tsv(filepath) %>%
select(-1) %>%
rename(Species = Label) %>%
mutate(Species = sub('.tif$', '', Species)) %>%
group_by(Species) %>%
mutate(
View = seq_along(Species),
View = letters[View], # a, b, c, etc. instead of 1, 2, 3, etc.
Station = sub('.txt$', '', basename(filepath))
)
})
# get rows from second file
result[[2]]
# bind rows from all files
result %>% bind_rows()
答案 1 :(得分:-1)
另一个概念: 为什么你没有为帖子添加动作,这将使帖子的所有者成为关注者以及帖子。
实施例: 用户(x)添加了帖子(Y) 用户(x)是Post(Y)的追随者
当您进入&#39;创建&#39;对帖子采取行动,要求模型处理以下概念。
PostController中:
def create
if @post.save
bla bla bla
end
end
发布模型:
after_save :follow_post
private
def follow_post
do the follow action
end