2011-09-05 38 views
2

在我的模型Post.rb我有serialize :facts調用。 我試圖完成的是用戶可以將他們自己的鍵/值對保存到facts列。當用戶打開/張貼/新頁面時,我希望有三個空的鍵值輸入。然後用戶可以填寫像值:如何使用哈希數組使用ActiveRecord的序列化?

[color    ]: [very blue  ] 
[length of the street ]: [not that long ] 
[etcetera    ]: [etcetera  ] 

要建立我使用簡單形式的寶石,並試圖已經使用

= f.simple_fields_for :facts do |ff| 
    = f.input :key 
    = f.input :value 

只生成一個鍵/值的形式,並將其保存非常好以'事實'字段的YAML格式!但是,當我嘗試添加數組時,它不起作用。它只保存最後一個鍵/值對。

那麼,我知道什麼問題,但不知道如何解決它。

我需要一些可以生成輸入字段的值,例如:post[facts][][key]post[facts][][value]。目前它只能生成三個輸入的post[facts][key]post[facts][value]輸入。

+0

你解決了這個問題嗎? –

+0

@RuanCarlos大概我解決了它,但我真的不記得如何。這已經是三年前了:)你可以嘗試在模型中編寫一個自定義串行器。這個串行器可以執行諸如解析所有「密鑰」字段來散列密鑰和所有「值」字段以對與密鑰對應的散列值進行操作。 – Ivan

+0

謝謝伊萬。我手動創建了表單。 –

回答

0

您是否試圖合併空對與集合中的現有元素?