Rails 3.2 Twitter 应用程序。
解决方案:正确答案的 Prop 。有时我会忽略一些简单的事情。最终在我的巨大视野中划了一条线。这对我来说更容易。看起来像这样。
<% @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 是推文。
最佳答案
我认为您正在寻找的是调度程序。您可以使用Delayed Job或Sidekiq为了这。 Sidekiq 让您创建jobs at a specific time .
关于ruby-on-rails - 最近状态 24 小时后,创建新状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19864823/