【问题标题】:Basecamp HQ Rails Integration without Database没有数据库的 Basecamp HQ Rails 集成
【发布时间】:2013-12-21 07:03:06
【问题描述】:

所以我使用 Basecamp HQ (classic) 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待办事项、里程碑和消息。

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

我得到的错误是一个

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>

任何想法我可以做些什么来让它工作?

谢谢!

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 basecamp


    【解决方案1】:

    看起来你打电话给@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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-14
      • 2010-09-23
      • 2023-03-08
      • 1970-01-01
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多