未定义的方法`todo_items&#39;对于#<todolist:0x4528c20> </todolist:0x4528c20>

时间:2014-03-22 13:47:21

标签: ruby-on-rails ruby ruby-on-rails-3

我收到此错误

undefined method `todo_items' for #<TodoList:0x4528c20>

在此代码中:

<h1><%= @todo_list.title %></h1>
<p>Find me in app/views/todo_items/index.html.erb</p>

<ul class="todo_items">
  <% @todo_list.todo_items.each do |todo_item| %>
  <li><%= todo_item.content %></li>
  <% end %>
</ul>

我是rails的新手,我不确定如何调试此错误或在哪里寻找可能的问题。任何人都可以指导我在rails中等同于console.logvar_dump

更新

todo_items_controller.rb

class TodoItemsController < ApplicationController
  def index
    @todo_list = TodoList.find(params[:todo_list_id])
  end
end

2 个答案:

答案 0 :(得分:1)

看起来您在TodoList类中缺少has_many关联。

has_many :todo_items

假设您有一个带有关联数据库表的TodoItem类

答案 1 :(得分:1)

TodoList对象上,您可以调用

obj.todo_itmes

仅当您的TodoList模型中有一个此类关联时

has_many :todo_items

为了更好地理解,请参考Rails Associations

关于你问题的另一部分

  

在rails中等效于console.log或var_dump。

请参阅debugging in rails