这是我第一次尝试使用助手。我想把一个相对较长的方法,在我的观点中不断重复用于帮手。使用助手来缩短strftime在轨道上
视图代码的实例是在这里:
<%= @guide.date_starting.strftime("%B #{@guide.date_starting.day.ordinalize}") %> to
<%= @guide.date_ending.strftime("%B #{@guide.date_ending.day.ordinalize}") %>
所以我试图做的是在模块助手写:
def start_time_display
self.strftime("%B #{@guide.date_starting.day.ordinalize}")
end
def end_time_display
self.strftime("%B #{@guide.date_ending.day.ordinalize}")
end
,然后写在意见
<%= @guide.date_starting.start_time_display %> to <%= @guide.date_ending.end_time_display %>
这给了我这个错误:
undefined method `start_time_display' for Wed, 03 Sep 2014 00:00:00 UTC +00:00:Time
那么,我该如何做到这一点?我哪里错了?我怎么能写得更好?我在这里以正确的方式接近助手吗?我咨询了文档,我的理解是这是他们在那里。
编辑:
所以我说达明的回答,
View.html.erb
引导帮手
def time_display(datetime)
strftime("%B #{datetime.day.ordinalize}")
end
def time_display_span(start, end_date)
time_display(start) + " to " + time_display(end_date)
end
错误...
undefined method `strftime' for #<#<Class:0x000001088c0128>:0x000001088cb168>
更新:达米安是一位救生员。他的回答很有帮助,并帮助我理解。荣誉
在此先感谢
@EgeErsoz这是在正确的帮手,我读了很多.. –