Rails 3.2 推特应用程序。
解决方案:正确答案的道具。我有时会忽略简单的东西。最后在我的巨大视野中划了一条线。这对我来说更容易。看起来像这样。
<% @ribbits.each do |ribbit| %>
<% if ribbit.user != current_user%>
<% if ribbit.user.following? current_user %>
<% if ribbit.created_at > (Time.now - 1.day) %>
etc.
我有最后一个我想弄清楚的功能。如果用户的最新状态是在 24 小时前创建的,我想为他们创建一个新状态“yadayadayada”。
以下是最新状态的显示方式。
users_controller.rb
def buddies
@ribbits = Ribbit.where("(ribbits.user_id, ribbits.created_at) IN (SELECT user_id, MAX(created_at) FROM ribbits WHERE user_id IN (?) GROUP BY user_id ORDER BY MAX(created_at) DESC LIMIT 10)", buddies_ids).order("created_at DESC")
/users/buddies.html.erb
<% @ribbits.each do |ribbit| %> ... etc
这样的事情要么发生在我的身上,users_controller.rb
要么ribbits_controller.rb
if @ribbits.user.ribbit created_at > (Time.now - 1.day)
Ribbit.new(:status => "sdfaklsdf")
end
Ribbits 是推文。