2014-02-23 20 views
0

我有一個模型。在該模型中,我創建了一個數組屬性,但我無法在窗體中使用該屬性。如何在Ruby on Rails中使用2d數組與表單?

這是我的問題:

= form_for :my_form_name do |f| 
    %table 
    - for i in 1..10 do 
     %tr 
     - for j in 1..10 do 
      %td 
      = f.text_field :example[i][j] 

在這種情況下,我想從箱子收集數據的屬性稱爲例子。

當我運行應用程序時,我得到這個錯誤:

undefined method `[]' for nil:NilClass 

回答

0

我猜你叫[]:example,而不是創造的象徵。只要使用字符串

= f.text_field "example[#{i}][#{j}]" 
+0

謝謝,我寫這樣的,但我有新的錯誤:''未定義的方法'例如[1] [1]」爲#<'' –

+0

那是另一件事。 'form_for'接受對象,它從字段中的默認值中提取值。這就是爲什麼它在':my_form_name'上調用'example [1] [1]'的原因。你需要的是'form_tag'方法。它有不同的參數,檢查文檔http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#method-i-form_tag – lobanovadik

+0

謝謝,也許我會編輯我的model.rb像這樣:'serialize :example' –