Links#index中的NoMethodError

时间:2015-01-14 17:30:16

标签: ruby-on-rails ruby

未定义的方法`已创建'为# 提取的来源(第5行):

<h2>
  <% link_to link.title, link %><br>
  **<small class="author">Submitted <% time_ago_in_words(link.created+at) %> by <% link.user.email %></small>**
  </h2>
</div>

更新

link.created+at更改为link.created_at

它仍然给我这个错误

未定义的方法`name&#39; ##提取的来源(第5行):

<h2>
  <%= link_to link.title, link %><br>
  <small class="author">Submitted <%= time_ago_in_words(link.created_at) %> by <%= link.user.name %></small>
</h2>

3 个答案:

答案 0 :(得分:2)

link.created+at更改为link.created_at

<强>更新

  

它仍然给我这个错误

     

未提取的方法`name'用于#Extracted source(第5行):

您的代码:<%= link.user.name %>导致错误,因为name没有名为link.user的方法,请尝试使用此信息进行故障排除。

link.user为{0},因此无法在name上调用user,或者name对象上没有名为user的方法或属性(后者似乎最有可能)。

答案 1 :(得分:1)

run $ bundle exec rake db:migrate:reset清除数据库。

我正在做相同的教程Mackenzie Child Reddit Clone。您之前收到错误是因为您在本教程的早期创建了一个没有名字的用户。该用户需要删除或向用户添加名称以消除错误。

答案 2 :(得分:0)

我也做同样的教程并遇到了同样的问题。我意识到我的架构中没有用户名,所以我跑了:

rails g migration AddNameToUsers

然后我在数据库中为我的用户添加了名称。