0

因此,我使用 Basecamp HQ(经典)API 和Ruby Wrapper来设置 Rails 应用程序,以批量添加和删除待办事项、里程碑和消息。

Right now, I have two controllers--projects and projectSummary (projects has_many projectsummaries, and a projectsummary belongs_to a project) and I want to make it so when a project ID is selected rails will take you to a page that shows the to-do项目、里程碑和消息。

项目页面工作得很好。我想加载的关于该项目的所有信息都被很好地总结了,但是,当我试图链接到另一个页面时,我一直没有成功。

我得到的错误是

undefined method `id'

即使我的 rake 路线返回

控制器代码

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

目前,这是我index.html.erb尝试链接到页面以显示项目摘要的代码。

   <% @project.each do |item| %>
   <tr>
     <td><%= item.name %></td>
     <td><%= link_to item.id, project_projectsummary_path(:project_id => @project.id, :id => @project.projectsummary.id) %></td>
     <td><%= item.last_changed_on %></td>
     <td><%= item.created_on %></td>
     <td><%= item.status %></td>

有什么想法可以让这个工作吗?

谢谢!

4

1 回答 1

0

看起来@project你的意思是打电话item

这行应该:

<td><%= link_to item.id, project_projectsummary_path(:project_id => @project.id, :id => @project.projectsummary.id) %></td>

是:

<td><%= link_to item.id, project_projectsummary_path(:project_id => item.id, :id => item.projectsummary.id) %></td>
于 2013-12-20T23:03:06.990 回答