0

そこで、Basecamp HQ (クラシック) API とRuby Wrapperを使用して Rails アプリケーションをセットアップし、To Do アイテム、マイルストーン、メッセージを一括で追加および削除します。

現在、projects と projectSummary (projects has_many projectssummaries、projectsummary belongs_to a project) の 2 つのコントローラーがあり、プロジェクト ID が選択されたときに Rails が to-do を示すページに移動するようにしたいと考えています。アイテム、マイルストーン、メッセージ。

プロジェクトページは問題なく動作します。プロジェクトについて読みたい情報はすべて見事にまとめられていますが、別のページにリンクしようとするとうまくいきません。

私が得ているエラーは

undefined method `id'

私のレーキルートが戻ってきたとしても

コントローラーコード

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 に答える