Ruby on rails Basecamp HQ API和Rails
因此,我使用Basecamp HQ()API和a来设置一个Rails应用程序,以批量添加和删除待办事项、里程碑和消息 现在,我有两个控制器--projects和projectSummary(projects有许多projectSummary,projectSummary属于一个项目),我想这样做,当选择了一个项目ID时,rails会将您带到一个显示待办事项、里程碑和消息的页面 项目页面工作得很好。我想加载的关于这个项目的所有信息都总结得很好,但是,当我试图链接到另一个页面时,我一直没有成功 我得到的错误是Ruby on rails Basecamp HQ API和Rails,ruby-on-rails,ruby-on-rails-3,api,basecamp,Ruby On Rails,Ruby On Rails 3,Api,Basecamp,因此,我使用Basecamp HQ()API和a来设置一个Rails应用程序,以批量添加和删除待办事项、里程碑和消息 现在,我有两个控制器--projects和projectSummary(projects有许多projectSummary,projectSummary属于一个项目),我想这样做,当选择了一个项目ID时,rails会将您带到一个显示待办事项、里程碑和消息的页面 项目页面工作得很好。我想加载的关于这个项目的所有信息都总结得很好,但是,当我试图链接到另一个页面时,我一直没有成功 我得
NoMethodError in Projects#index
...
undefined method `project_projectsummary_link'
即使我的耙子回来了
Prefix Verb URI Pattern Controller#Action
project_projectsummary_index GET /projects/:project_id/projectsummary(.:format) projectsummary#index
POST /projects/:project_id/projectsummary(.:format) projectsummary#create
new_project_projectsummary GET /projects/:project_id/projectsummary/new(.:format) projectsummary#new
edit_project_projectsummary GET /projects/:project_id/projectsummary/:id/edit(.:format) projectsummary#edit
project_projectsummary GET /projects/:project_id/projectsummary/:id(.:format) projectsummary#show
PATCH /projects/:project_id/projectsummary/:id(.:format) projectsummary#update
PUT /projects/:project_id/projectsummary/:id(.:format) projectsummary#update
DELETE /projects/:project_id/projectsummary/:id(.:format) projectsummary#destroy
projects GET /projects(.:format) projects#index
POST /projects(.:format) projects#create
new_project GET /projects/new(.:format) projects#new
edit_project GET /projects/:id/edit(.:format) projects#edit
project GET /projects/:id(.:format) projects#show
PATCH /projects/:id(.:format) projects#update
PUT /projects/:id(.:format) projects#update
DELETE /projects/:id(.:format) projects#destroy
目前,这是我的index.html.erb
code,我试图链接到一个页面以显示项目摘要
<% @project.each do |item| %>
<tr>
<td><%= item.name %></td>
<td><%= link_to item.id, project_projectsummary_link(@project) %></td>
<td><%= item.last_changed_on %></td>
<td><%= item.created_on %></td>
<td><%= item.status %></td>
编辑2
控制器代码
class ProjectsController < ApplicationController
before_action :set_project, only: [:show, :edit, :update, :destroy]
before_filter :basecamp_connect
helper_method :sort_column, :sort_direction
def index
@project = Basecamp::Project.find(:all)
end
def list
@projects = @basecamp.projects.find(:all)
end
def show
end
class ProjectsController
应该是
<td><%= link_to item.id, project_projectsummary_path(:project_id => @project.id, :id => @project.projectsummary.id) %></td>
您必须提供project\u id
和id
,才能使路由正常工作,因此现在我的页面上出现了一个“undefined method`id'”错误。我不知道你对此是否有更多的想法,但我也在帖子中发布了我的相关控制器代码。
<td><%= link_to item.id, project_projectsummary_path(:project_id => @project.id, :id => @project.projectsummary.id) %></td>
project_projectsummary GET /projects/:project_id/projectsummary/:id(.:format) projectsummary#show