Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 4中对象的第二级嵌套失败_Ruby On Rails_Ruby_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails Rails 4中对象的第二级嵌套失败

Ruby on rails Rails 4中对象的第二级嵌套失败,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,我正在尝试用Rails为一个跑步联盟构建一个应用程序,我有3个嵌套级别。我有一个赛季模式,将有4场比赛,其中每一场将有3场比赛。我正在为方法使用accepts\u nested\u attributes\u,以便使用build 我可以通过赛季控制器为新赛季建立4场比赛,但只要我尝试建立一场比赛,我的rails服务器就会退出,没有错误消息。如果我尝试使用rails控制台,我可以为一个季节构建匹配,并且在保存季节时,所有内容都会成功保存到数据库中 但是,如果我执行m=Match.new操作,则无法键

我正在尝试用Rails为一个跑步联盟构建一个应用程序,我有3个嵌套级别。我有一个赛季模式,将有4场比赛,其中每一场将有3场比赛。我正在为方法使用
accepts\u nested\u attributes\u,以便使用
build

我可以通过赛季控制器为新赛季建立4场比赛,但只要我尝试建立一场比赛,我的rails服务器就会退出,没有错误消息。如果我尝试使用rails控制台,我可以为一个季节构建匹配,并且在保存季节时,所有内容都会成功保存到数据库中

但是,如果我执行
m=Match.new
操作,则无法键入
m.races.build
并创建一个race对象-控制台将像服务器一样退出,而不会显示任何错误消息。
development.log中也没有消息

我的模型如下:

class Season < ActiveRecord::Base
  has_many :matches
  accepts_nested_attributes_for :matches
end

class Match < ActiveRecord::Base
  belongs_to :season
  has_many :races
  accepts_nested_attributes_for :races
end

class Race < ActiveRecord::Base
  belongs_to :match
end

我花了几个小时试图找出我做错了什么,但我被难住了。

你有没有发现堆芯倾倒?听起来ruby正在崩溃,所以我怀疑gem有问题,或者ruby安装不好。什么ruby版本?什么站台?加载了哪些gem?当您遇到错误时,我不会得到任何常见的Rails详细跟踪。我在Windows上使用ruby 2.0.0-p195和Rails v4.0.2。这是一个全新的应用程序,用于测试我想要的是可能的,因此我还没有向该文件添加任何内容。我不确定windows日志/记录应用程序是如何崩溃的。可能是事件日志还是什么?但如果应用程序和控制台关闭,最有可能的是ruby本身崩溃(这既罕见又糟糕)。我发现:有用吗?我找不到ruby应用程序本身的任何日志。看起来这个bug与mySQL2有关,而我只是在使用SQLite。你可能找不到相关的日志。在MacOSX上,您将获得一个应用程序崩溃日志,其中包含(可能不是很有用)详细信息。我不确定windows是否有类似的功能。老实说,我会尝试升级到最新的补丁级别(ruby-2.0.0-p481),以防您遇到已修复的bug。但这种事情很难说(
def new
  @season = Season.new
  3.times do
    match = @season.matches.build
    4.times { match.races.build } # comment out this line and the form displays
  end
end