0

我从 rails generate 获得了两个不同的控制器,每个控制器都有索引、编辑、更新、销毁等......

现在我试图将这两个控制器(列表和想法)联系起来。我的列表中有这个循环 -> 显示页面

<% @list.ideas.each do |idea| %>
  <div>
    <div class="list_idea_desc"><%= idea.description %></div>
    <div><%= link_to 'Show', idea %></div>
    <div><%= link_to 'Edit', edit_idea_path(idea) %></div>
    <div><%= link_to 'Destroy', idea, method: :delete, data: { confirm: 'Are you sure?' } %></div>
  </div>
<% end %>

我正在尝试使其edit_idea_path正常工作,但它给了我错误

No route matches {:action=>"edit", :controller=>"ideas", 
:id=>#<Idea id: nil, name: nil, description: nil, picture: nil, 
created_at: nil, updated_at: nil, list_id: 2>}

知道如何使用这两个不同的控制器吗?这是否提供了足够的信息?

谢谢

4

2 回答 2

1

您的Idea实例没有 ID ( :id=>#<Idea id: nil...),因此路由器无法为其生成路由。在尝试为他们生成您的想法之前,请确保您的想法已保存。

此外,与问题没有直接关系,但您可以使用link_to "Edit", [:edit, idea]它来根据idea.

于 2013-04-30T04:31:43.807 回答
0

在使用 RESTful 路由时检查您的 routes.rb 文件

如果没有帮助,请在此处粘贴路线代码

于 2013-04-30T12:35:06.967 回答