我正在开发一个非常简单的项目管理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)