0

私は、ユーザーがプロジェクトを構築できるアプリを持っています。このアプリには、他のユーザーがプロジェクトに取り組むためにサインアップできる最大12のボランティアタイムスロットがあります。

プロジェクトが作成されると、ユーザーはデフォルト(開始)時間を求められます。このデフォルトの時刻(Project_Timesモデル)は、project_idパラメーターを使用して、それが属するプロジェクトを識別するために、データベース内begin_timeのtable.its独自のテーブルに書き込む必要があります。Projects

ユーザーは、作成後に必要な場合、最大11個のタイムスロットを追加できます@project

プロジェクトでデフォルトの時間を作成するのに苦労しています。これは私が持っているものです:

++ Projtime(projtime.rb)モデル++

class Projtime < ActiveRecord::Base
  attr_accessible :start_time, ...
  belongs_to :project
  default_scope :order => 'times.amount ASC'
end

++プロジェクト(project.rb)モデル++

class Project < ActiveRecord::Base
  attr_accessible :title
  belongs_to :user
  has_one :project_category
  has_many :projtimes, :dependent => :destroy
    accepts_nested_attributes_for :projtimes

  def projtimes
    Projtimes.where('project_id=?', id)
  end
end

++プロジェクトコントローラー++

class ProjectsController < ApplicationController
  ...
  def create
    @user = current_user
    @project = current_user.build_project(params[:project])
    @project.save
    @render 'edit'
  end

ここで、プロジェクトは上記の構文を使用してユーザーに自動的に割り当てられます。私は同じ概念をコピーしようとしました(プロジェクトごとに複数回あるという事実を考慮に入れて)そしてこれを考え出しましたProjtimesController

class ProjtimesController < ApplicationController
  ...
  def create
    @project.projtimes.build
  end
end

しかし、私はNameError in ProjectsController#new

uninitialized constant Project::Projtimes

との関連付けを設定するbelongs_tohas_many、これは機能するはずです。

誰かを助けますか?

4

1 に答える 1

1

class Projtimeprojtime.rbはnotで始まる必要がありclass Projimeます。

2番目の目:-)

于 2013-02-14T02:01:48.670 に答える