Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.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 为什么ruby向数组中添加空元素?_Ruby On Rails_Ruby_Arrays - Fatal编程技术网

Ruby on rails 为什么ruby向数组中添加空元素?

Ruby on rails 为什么ruby向数组中添加空元素?,ruby-on-rails,ruby,arrays,Ruby On Rails,Ruby,Arrays,对不起,如果这是个愚蠢的问题,我就是想不出来。我在RubyonRails项目中有两个模型——project和Page。页面属于一个项目,该项目有多个页面 在rails控制台中,当我执行Page.whereproject_id:25时,我收到4个结果,这是正确的。但当我这样做的时候 @project = Project.find(25) @all_pages = @project.pages 出于某种原因,@all_pages是一个由5个元素组成的数组。最后一个元素为空 <Page id:

对不起,如果这是个愚蠢的问题,我就是想不出来。我在RubyonRails项目中有两个模型——project和Page。页面属于一个项目,该项目有多个页面

在rails控制台中,当我执行Page.whereproject_id:25时,我收到4个结果,这是正确的。但当我这样做的时候

@project = Project.find(25)
@all_pages = @project.pages
出于某种原因,@all_pages是一个由5个元素组成的数组。最后一个元素为空

<Page id: nil, name: nil, project_id: 25, created_at: nil, updated_at: nil, parent_page_id: nil, weight: nil>
在我看来,我是这样使用它的:

<%= select_tag(:parent_page_id, options_from_collection_for_select(@all_pages, "id", "name"), { :class => 'form-control' }) %>

这将呈现一个由5个元素组成的列表,而不是4个元素,最后一个元素为空。

您可以向我们展示项目模型吗?它在重新启动后是否仍然存在?缺少该空页的id表明它根本没有保存在数据库中。可能是您在测试过程中意外创建的。您能向我们展示更多代码吗:您如何定义模型中的关联、控制器方法、视图和帮助器(如果其中包含逻辑)?用更多详细信息更新了我的问题模型\视图\控制器
  def show
    @project = Project.find(params[:project_id])
    @all_pages = @project.pages
    @page = Page.find(params[:id]) 
  end
<%= select_tag(:parent_page_id, options_from_collection_for_select(@all_pages, "id", "name"), { :class => 'form-control' }) %>