Ruby on rails 3.2 Rails3中的嵌套属性
我有一个应用程序,用户可以建立一个项目,该项目将有多达12个志愿者时间段,其他用户可以注册参与该项目 创建项目时,会询问用户默认(开始)时间。此默认时间(项目时间模型)应写入Ruby on rails 3.2 Rails3中的嵌套属性,ruby-on-rails-3.2,associations,nested-attributes,nameerror,Ruby On Rails 3.2,Associations,Nested Attributes,Nameerror,我有一个应用程序,用户可以建立一个项目,该项目将有多达12个志愿者时间段,其他用户可以注册参与该项目 创建项目时,会询问用户默认(开始)时间。此默认时间(项目时间模型)应写入Projects表中的begin\u time。它在数据库中自己的表,使用Project\u id参数标识它所属的项目 在创建@项目后,如果用户愿意/需要,可以再添加多达11个时隙 我很难让项目创建默认时间。这就是我所拥有的: ++Projtime(Projtime.rb)模型++ 但是,我在ProjectsControll
Projects
表中的begin\u time
。它在数据库中自己的表,使用Project\u id参数标识它所属的项目
在创建@项目后,如果用户愿意/需要,可以再添加多达11个时隙
我很难让项目创建默认时间。这就是我所拥有的:
++Projtime(Projtime.rb)模型++
但是,我在ProjectsController#new
使用未初始化的常量项目::Projtimes
我认为,如果将设置为,并且有许多关联,这应该会起作用
帮助任何人?projtime.rb应该以class-projtime
开头,而不是class-Projime
第二组眼睛:-)在发布到堆栈时输入错误。不是真正的问题。。。不过谢谢你。项目中的“def projtimes”将屏蔽has_many生成的同名方法。有趣的是,重复的命名空间会干扰方法生成。
class Projtime < ActiveRecord::Base
attr_accessible :start_time, ...
belongs_to :project
default_scope :order => 'times.amount ASC'
end
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
class ProjtimesController < ApplicationController
...
def create
@project.projtimes.build
end
end