我从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>}
知道如何使用这两种不同的控制器吗?这会提供足够的信息吗?
由于
答案 0 :(得分:1)
您的Idea
实例没有ID(:id=>#<Idea id: nil...
),因此路由器无法为其生成路由。在尝试为他们生成您的创意之前,请确保您的创意已保存。
此外,与问题没有直接关系,但您可以使用link_to "Edit", [:edit, idea]
根据idea
类来推断路线。
答案 1 :(得分:0)
在使用RESTful路由时检查您的routes.rb文件
如果没有帮助,请在此处粘贴路线代码