【发布时间】:2016-01-30 00:27:33
【问题描述】:
为什么我的工作的每个执行块没有被解释? Rails 4.2、Ruby 2.1.7。
# _jobs.html.slim
tbody
- (Date.today.beginning_of_week..Date.today.end_of_week).to_a.each do |day|
h3= day.strftime("%d.%m.%Y")
- Job.due_day(day).each do |job|
<from here its ignored>
tr= job.start_time
tr= job.name
...
# job.rb
def self.due_day(day)
all.select{|x| x.start_time.to_date == day}
end
预期输出:
25.01.2016
26.01.2016
工作1
27.01.2016
工作 2
28.01.2016
工作 3
工作 4
29.01.2016
30.01.2016
电流输出:
25.01.2016
26.01.2016
27.01.2016
28.01.2016
29.01.2016
30.01.2016
工作1
工作 2
工作 3
工作 4
【问题讨论】:
-
尝试打印 due_day(day) .. 像这样: puts "Due date(s) is " ; all.select{|x| x.start_time.to_date == day} .. 有吗? .... 如果为 nil,您也可能会引发错误
-
这是什么 Rails 版本?
-
有趣:我必须阅读它,但实际上可以在带有块的作用域上使用
select!但这并不能解决您的问题;) 问题可能只是在 HTML 中吗?您在<tbody>内发出<h3>。因为根据您的输出,due_date似乎找到工作就好了。 -
在我看来,
|day|是通过h3= day.strftime("%d.%m.%Y")循环的。之后它会打印所有作业。 -
您的标记无效(tr 元素应仅包含 td/th 元素)。这很容易让浏览器做一些疯狂的事情——检查实际的 html 源代码
标签: ruby-on-rails ruby