为数组ruby的每个元素创建一个实例

时间:2014-08-06 10:45:47

标签: ruby arrays

我正在尝试创建一个类的实例,每个类都包含类数组中的元素。数组就像这样

class CorporatePanel < ActiveRecord::Base


  TEXT_ONLY = 'text only'
  IMAGE_LEFT = 'image left'
  IMAGE_RIGHT = 'image right'
  IMAGE_ONLY = 'image only'
  VIDEO = 'video'
  PANEL_TYPE = [TEXT_ONLY, IMAGE_LEFT, IMAGE_RIGHT, IMAGE_ONLY, VIDEO]

因此,对于每个面板类型,我想要一个类公司面板的实例。

@corp_page = CorporatePage.create!(title: 'Home', static_descriptor: 'Home', workflow_state: 'draft')
    @corp_panel = CorporatePanel::PANEL_TYPE
    if @corp_page.title == 'Home'
      puts "PAGE CREATED"
      (@corp_panel.count).times do 
        corp_panel = CorporatePanel.new
        @corp_panel.each do |x|
          corp_panel.panel_type = x 
        end
        if corp_panel.save
          puts "#{corp_panel.title} created"
        else
          puts "#{corp_panel.title} not created"
          puts corp_panel.errors.inspect
        end
      end
    else
      puts "Corp Page not saved"
      puts @corp_page.inspect
    end

因此,在企业面板的每次迭代中,它都使用不同的面板类型。目前它创建了每个面板中的五个!

感谢先遣人员

1 个答案:

答案 0 :(得分:0)

查看数组文档,我发现方法'pop',删除每个数组的最后一个元素,看到这个常量是一个数组,它起作用了。

corp_panel.panel_type = CorporatePanel::PANEL_TYPE.pop