【发布时间】:2013-07-16 14:29:24
【问题描述】:
快速分解我的应用程序:我有一个歌曲、cmets 和用户模型。用户可以上传歌曲,制作cmet。
提交(创建)歌曲后,我似乎收到“nil:NilClass 的未定义方法 `strftime'”错误。如果您转到show#songs.html.erb,您将看到下面的 cmets 代码。我研究了 Ryan Bates 如何做他的 cmets 并且我的代码是相同的。不知道为什么 strftime 不起作用。请指教:)
注意:为了它的价值,我正在运行 rails 4
完整的错误信息:
NoMethodError in Songs#show
Showing /Users/apane/Downloads/leap/app/views/songs/show.html.erb where line #34 raised:
undefined method `strftime' for nil:NilClass
Extracted source (around line #34):
<% for comment in @song.comments %>
<div class="comment">
<strong><%= link_to_unless comment.site_url.blank?, h(comment.author_name), h(comment.site_url) %></strong>
<em>on <%= comment.created_at.strftime('%b %d, %Y at %H:%M') %></em>
<%=simple_format comment.content %>
<p>
<% if can? :update, comment %>
【问题讨论】:
-
created_at不起作用。可能的原因是您没有在Comment模型中自动填充该字段(因此在数据库中为NULL,在 Ruby 中为nil)。 -
Neil,我怎样才能自动填充它?有没有我应该添加到控制器的代码行?
标签: ruby-on-rails ruby ruby-on-rails-4