我与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字段的元组,而不是一个,我还没有找到一种方法来做到这一点。我查看了没有模型的表单,但我并不认为这是我需要的......
有没有人有一个想法如何做到这一点?