Ruby on Rails - #<TodoList:0x4528c20> 的未定义方法 'todo_items'



我得到这个错误

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>

我是新的轨道,我不确定如何调试这个错误或在哪里寻找可能的问题。谁能告诉我在轨道上什么是console.logvar_dump的等价物?

更新:

todo_items_controller.rb

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

看起来你在TodoList类中缺少了一个has_many关联

has_many :todo_items

假设您有一个TodoItem类和关联的db表

TodoList对象上可以调用

obj.todo_itmes

仅当您在TodoList模型中有一个这样的关联时,如

has_many :todo_items

要更好地理解,请参考Rails Associations

关于你问题的另一部分

rails中console.log或var_dump的等价内容是什么?

请参考rails中的调试

相关内容

  • 没有找到相关文章