Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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-我无法读取数组的内容_Ruby On Rails_Arrays - Fatal编程技术网

Ruby on rails Rails-我无法读取数组的内容

Ruby on rails Rails-我无法读取数组的内容,ruby-on-rails,arrays,Ruby On Rails,Arrays,我在尝试读取rails数组的内容时遇到问题。(ruby 2.x、rails 4.x) 我有一个搜索表单,其中一个项目是selectmultiple。数组存储在名为category的文本字段中。我正在用计算机获取阵列 <%= f.select :category, options_for_select(@categories.sort), {:include_blank => true},

我在尝试读取rails数组的内容时遇到问题。(ruby 2.x、rails 4.x)

我有一个搜索表单,其中一个项目是selectmultiple。数组存储在名为category的文本字段中。我正在用计算机获取阵列

 <%= f.select :category,
                       options_for_select(@categories.sort),
                       {:include_blank => true},
                       {:multiple => true, :size =>10}  %>
true},
{:multiple=>true,:size=>10}%>
如果我做了一件事,我会得到

搜索id:675,文档标题:,摘要:,所有者:[\“\”],类别: “[\”、“苹果”、“日历”、“表格”]”,文件名:,创建地址: “2015-12-28 13:57:45”,更新地址:“2015-12-28 13:57:45”,文件收件人:无

我看到category字段有一个包含我选择的三个项目的数组

如果我看到了

[“”、“苹果”、“日历”、“表格”]

到目前为止,在我看来,阵列已经存在

但是,

<%= @search.category[0..8] %>

导致

[,”应用程序


[


]

这不是我所期望的

<% @search.category.each do |cat_name| %>"
     <%=  cat_name %>
<% end %>
导致错误为

显示 C:/Users/cmendla/RubymineProjects/technical_library/app/views/search/show.html.erb 第85行的位置:

未定义的“[\”、“苹果”、“日历”, \“Forms\”]:String Rails.root: C:/Users/cmendla/RubymineProjects/td

应用程序跟踪|框架跟踪|完整跟踪 app/views/searches/show.html.erb:85:in `_应用程序\查看\搜索\显示\ html \ erb\ uuuuuuuuuuuu938985047\ u80352240'


在尝试读取数组内容时,我做错了什么?

您的模型的
类别是字符串,而不是数组

在文本字段中存储数组-添加

serialize :category, JSON

进入模型。

它不是一个数组,而是一个包含数组内容的字符串。如果您再次查看它,您将看到@search.category包含一个看起来像您的数组的字符串,而不是数组。当您要求
[0..8
时,您要求的正是它显示给您的前9个字符。
<% @search.category.each do |cat_name| %>"
     <%=  cat_name %>
<% end %>
serialize :category, JSON