缺少必需的键:[:id] rails 4

问题描述:

我正在使用链接到项目的方法。下面的代码是有缺少必需的键:[:id] rails 4

project = Project.new 
project.id = value["id"] 
project.name = value["project_name"] 
<td width="20%" class="left"><%= link_to_project(project) %></td> 

错误

No route matches {:action=>"show", :controller=>"projects", :id=>#<Project id: 2343, name: " TESTING", description: nil, homepage: "", is_public: false, parent_id: nil, created_on: nil, updated_on: nil, identifier: nil, status: 1, lft: nil, rgt: nil, inherit_members: false, product_backlog_id: nil, default_version_id: nil>} missing required keys: [:id] 

我得到这个错误它不工作。我不知道如何解决这个问题。但铁轨3.2工作正常。

这将在Rails中工作。但是不再适用于Rails 4所依赖的activerecord 3.2.11。如果您想了解更多,请通过this讨论。

+0

有没有解决方案... – Vikiesakki

嗨,我终于我得到了那个

我们要通过id作为参数,这样

link_to_project(project,{:id=>project.id}) 

我想你在找什么解决的办法是这样的:

link_to(project.name, project) 

或者更明确地说:

link_to(project.name, project_path(project)) 

Rails Routing from the Outside In有关于此的更多信息。