铁轨上的红宝石 - 抱怨路线缺失,而实际上并非如此



我正在开发一个非常简单的项目管理web应用程序。

我有两个不同的页面,您可以在其中查看项目。

1. View all projects
2. View only the projects where you are administrator (includes buttons for editing / deletion of the projects)

因为我有两个不同的页面来显示项目,所以我决定创建一个自定义路线,将用户引导到项目控制器中的自定义操作。

然而,这(由于某种原因)不起作用,我收到以下错误消息:

No route matches {:action=>"edit", :controller=>"projects"}

视图:

<%= link_to "Manage projects", users_projects_path %>

项目管理员:

class ProjectsController < ApplicationController
    ...
    def users_projects
      @users_projects = Project.where(:user_id => current_user.id)
    end
...
end

项目模型:

class Project < ActiveRecord::Base
  has_and_belongs_to_many :users, :class_name => 'User'
  belongs_to :user
  has_many :tickets, :dependent => :destroy
  //validation
  attr_accessible :user_id, :title, :description, :start_date, :end_date
end

问题是没有为路由提供id参数,这是必需的。

在某个地方,您正在生成一个指向edit_project_path的链接。确保您正在将一个项目提供给url生成器:edit_project_path(project)

相关内容

  • 没有找到相关文章

最新更新