我正在使用MongoMapper和Rails 4。
对于Campaign
模型,我想要一个属性custom_payouts
,其类型为Hash
:{'Username123': 0.80, 'other_guy', 0.25}
。
我想在“编辑广告系列”页面上迭代它并动态填充输入框:
我正在努力找到一种方法,将两个单独的<input>
框(根据用户的请求通过javascript添加)转换为完全相同的格式。
我需要一种方法将两个<input>
标记转换为哈希的键/值对,但我似乎无法弄清楚如何使它成为传入的params
在右边格式。
换句话说,这就是我想要看到的内容:
{
"utf8":"✓",
"authenticity_token":"whatever==",
"campaign":{
"name":"Test Campaign",
"custom_payouts": {
"Username123": 0.25,
"other_guy": 0.80,
},
"controller":"campaigns",
"action":"create"
}
}
我的input
标签应该与哪些名称相同?
编辑:难以理解的是,在提交表单之前,其中一个代码的名称必须是其值。
答案 0 :(得分:2)
尝试这样的事情
<%= form_for @campaign do |f| %>
<%= f.label :name, "name" %>
<%= f.text_field :name %>
<%= f.label :"custom_payouts[][:username]", "Username" %>
<%= text_field_tag "campaign[custom_payouts][][:username]" %>
<%= f.label :"custom_payouts[][:percentage]", "Percentage" %>
<%= text_field_tag "campaign[custom_payouts][][:percentage]" %>
<% end %>