出于某种原因,我的@sub_opps导致: ActiveRecord的::关系:: ActiveRecord_Relation_SubOpp。
这意味着我的.each语句显然没有产生任何结果。我已经尝试过多种方法,但无法找到正确的调整来实现这一目标。
知道为什么吗?
def index
@sub_opps = SubOpp.where("status = ? AND sub_time = ?", false, Date.today)
end
为了澄清一些事情,sub_time是我的SubOpp模型中的一列,是datetime。状态是布尔值。所以,我试图显示状态为false且其日期时间为今天的SubOpp行。
以下是我的观点。
<% @sub_opps.each do |sub_opp| %>
<%= render sub_opp, :sub_opp => :sub_opp %>
<% end %>
由于
答案 0 :(得分:0)
我认为where
的语法已关闭...试试这个:
@sub_opps = SubOpp.where("status = ? AND sub_time = ?", false, Date.today)
答案 1 :(得分:0)
我想出了这个问题。问题是模型中的日期时间列包含日期和时间,因此尝试查询此模型中的行,其日期时间等于今天的日期不起作用。为了解决这个问题,我在控制器中执行了以下操作。
@sub_opps = SubOpp.where('sub_time BETWEEN ? AND ?', DateTime.now.beginning_of_day, DateTime.now.end_of_day).all
这抓住了所有SubOpp,其中时间在一天的开始和结束之间。同样,基本问题是日期时间是日期和时间,因此仅比较日期不会产生任何结果。谢谢你的帮助!