我正在创建一个 twitter 副本,现在我正在尝试从您关注的所有用户那里获取所有帖子,然后将它们显示在主页上。我以前在 PHP 中做过这个,但我是 RoR 的新手,所以我可能试图以错误的方式做这个。
一个用户有很多订阅,一个订阅属于用户
一个用户有很多帖子,一个帖子属于用户
这是我到目前为止所得到的:
session_controller.rb
def get_posts
@sub = @current_user.subscriptions.first
Post.where("user_id = ?", @sub.following_id).find_each do |tweet|
render partial: 'shared/tweet', locals: {tweet: tweet}
end
end
我知道 .first 只获得第一个订阅,但我想尝试获得一些东西。
主页.html.erb
<table>
<tr>
<th>Username</th>
<th>Tweet</th>
</tr>
<%= yield %>
</table>
_tweet.html.erb
<div class="tweet">
<td>Username here somehow</td>
<td><%= tweet.content %></td>
</div>
但是现在什么都没有出现在桌子上。那么,我做错了什么?(我做对了吗?)