我與formtastic有困難。我會先嚐試儘可能地勾畫出情況。用formtastic生成哈希表的數組形式
我有一個名爲onlinescore
的模型,它具有屬性publisher
,id
和其他一些基本類型。其中一個屬性是urls
。這些urls
與這樣的內容哈希:
{"url" => "http://www.example.com", "description" => "blabla"}
所以數組是這樣的:
[{"url" => "http://www.example0.com", "description" => "blabla0"},
{"url" => "http://www.example1.com", "description" => "blabla1"},
{"url" => "http://www.example2.com", "description" => "blabla2"}]
我現在做一個表單創建一個新的onlinescore
爲此,我需要一種方法來收集該數組的輸入。我想有2個字段(「url」和「description」)以某種方式映射到urls數組。一旦這樣做,我希望用戶能夠一次添加多個網址,例如,使用「添加新網址」按鈕可以生成另外兩個這些字段。
我已經嘗試做到這一點的某些方面,例如像這樣:
#rest of form
<% @onlinescore.url.each do |link| %>
<% form.inputs :for => link do |urls| %>
<%= urls.input :url, :as => :url %>
<%= urls.input :description, :as => :string %>
<% end %>
<% end %>
#rest of form
這給錯誤:
undefined method `model_name' for Hash:Class
我也試圖定義一個新的輸入類型:score_url但我並沒有得到太多,因爲我需要一個2字段的元組,而不是一個,我還沒有找到一種方法來做到這一點。我查看了沒有模型的表單,但我並不認爲這是我需要的......
有沒有人有一個想法如何做到這一點?