2014-10-29 29 views
-2

所以我想创建一个由多个类,我称之为Homes无法使类的数组中的Ruby

但是当我运行我的代码,我的阵列只包含一个Home 我的数组我在Rails框架中这样做。

class HomesController < ApplicationController 

    def index 
     home_names_array = ['Kodu 1' 'Kodu 2'] 
     homes = [] 

     home_names_array.each do |home| 
      x = Homes.new 
      x.home_name = home 
      x.create_apartments(['Korter 56', 'Korter 78']) 
      homes << x 
     end 

     homes.each do |x| 
      logger.debug homes.size 
      logger.debug "Home name: #{x.get_name}\n" 
     end 
    end 

    class Home 
     attr_accessor :home_name 
     APARTMENTS = [] 

     def create_apartments(apartment_names) 
      apartment_names.each do |apartment| 
       x = Apartment.new 
       x.apartment_name = apartment 
       APARTMENTS << x 
      end 
     end 

     def get_name 
      home_name 
     end 

     def get_apartments 
      APARTMENTS.each do |apartment| 
       apartment 
      end 
     end 
    end 

    class Apartment 
     attr_accessor :apartment_name 

     def get_apartment_name 
      apartment_name 
     end 
    end 

end 

在索引操作中,它应该将x这是一个类推到我的数组中。但结果只是一个类中的变量。

+0

您是否尝试调试该问题? – akonsu 2014-10-29 14:24:59

回答

3

您错过了您的home_names_array的逗号。应该是home_names_array = ['Kodu 1', 'Kodu 2']

+0

1小时试图找出问题,最后问题是逗号...谢谢您指出错误! – Kaspar 2014-10-29 14:27:03