【问题标题】:missing required keys: [:id] rails 4缺少必需的键:[:id] rails 4
【发布时间】:2017-01-24 20:53:13
【问题描述】:

我正在使用链接到项目的方法。下面是代码

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]

我得到了这个错误,它不起作用。我不知道如何解决这个问题。但是 rails 3.2 运行良好。

【问题讨论】:

    标签: ruby-on-rails-4 ruby-on-rails-4.2


    【解决方案1】:

    这适用于 Rails 。但从 activerecord 3.2.11 开始不再有效,这是 Rails 4 所依赖的。如果您想了解更多信息,请通过this 讨论。

    【讨论】:

      【解决方案2】:

      嗨,我终于找到了解决方案

      我们必须像这样传递 id 作为参数

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

      【讨论】:

        【解决方案3】:

        我认为您正在寻找的是:

        link_to(project.name, project)
        

        或者,更明确地说,这个:

        link_to(project.name, project_path(project))
        

        Rails Routing from the Outside In 有更多相关信息。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-02-05
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多