Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.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 on rails上打印序列化数组时出错_Ruby On Rails_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails 在ruby on rails上打印序列化数组时出错

Ruby on rails 在ruby on rails上打印序列化数组时出错,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,当我试图打印一个序列化数组时,我得到了一个错误“属性应该是一个数组,但它是一个字符串” 这里是我尝试打印数组的地方 <% unless post.raffle_id.nil? %> Buyers:<% post.raffle_id.each do |t| %> <%= t %> <% end %> <% end %> 数据库架构中的抽奖id类型为text #post.rb

当我试图打印一个序列化数组时,我得到了一个错误“属性应该是一个数组,但它是一个字符串”

这里是我尝试打印数组的地方

<% unless post.raffle_id.nil? %>
        Buyers:<% post.raffle_id.each do |t| %>
            <%= t %> 
        <% end %>
<% end %>
数据库架构中的抽奖id类型为text

 #post.rb 
 class  Post < ActiveRecord::Base 
   serialize :raffle_id, Array 
 end

在控制台中验证以上内容,这将正常工作。:)

您能否显示“抽奖id”属性中的信息?对于数组,它必须看起来像
-[a,b,c]
。最可能发生的情况是
raffle\u id
的值是在添加代码将其序列化到数组之前设置的。如何修复此jvnill?当我键入inspect时,这是出现的“Post(调用'Post.connection'以建立连接)”其他一切都很好,但没关系。最初我们需要建立联系。您可以查询所有记录或只进行一次计数,这将在内部为您建立连接。:)
 #post.rb 
 class  Post < ActiveRecord::Base 
   serialize :raffle_id, Array 
 end
Post.inspect 
"Post(id: integer .... , raffle_id: text)" 

a = Post.new(raffle_id: [1,2,3])
a.save 
Now try to Print variable a value: 
  $ a.raffle_id
 => [1,2,3]