Ruby on rails 如何将动态添加的输入字段保存到哈希?
我正在使用MongoMapper和Rails 4 对于Ruby on rails 如何将动态添加的输入字段保存到哈希?,ruby-on-rails,input,hash,textfield,params,Ruby On Rails,Input,Hash,Textfield,Params,我正在使用MongoMapper和Rails 4 对于活动模型,我希望有一个属性自定义支付,它是一种散列:{'Username123':0.80,'other_guy',0.25} 我想在“编辑活动”页面上反复浏览它,并动态填充输入框: 我正在努力寻找一种将两个独立的框(根据用户的请求由javascript添加)转换为这种格式的好方法 我需要一种方法将两个标记转换为散列的键/值对,但我似乎不知道如何使传入的参数的格式正确 换句话说,我想看到的是: { "utf8":"✓", "au
活动
模型,我希望有一个属性自定义支付
,它是一种散列
:{'Username123':0.80,'other_guy',0.25}
我想在“编辑活动”页面上反复浏览它,并动态填充输入框:
我正在努力寻找一种将两个独立的
框(根据用户的请求由javascript添加)转换为这种格式的好方法
我需要一种方法将两个
标记转换为散列的键/值对,但我似乎不知道如何使传入的参数的格式正确
换句话说,我想看到的是:
{
"utf8":"✓",
"authenticity_token":"whatever==",
"campaign":{
"name":"Test Campaign",
"custom_payouts": {
"Username123": 0.25,
"other_guy": 0.80,
},
"controller":"campaigns",
"action":"create"
}
}
我的input
标记应该等于哪些名称才能产生此结果
编辑:困难似乎在于,在提交表单时,其中一个标记的名称必须是它的值。试试类似的方法
<%= 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 %>
您能描述一下您的模型和表单生成视图吗?@MohammadAbuShady目前,该活动模型只是有一个散列
字段(自定义支出)和一个字符串
字段(名称)。不过,忘记表单生成视图中的任何其他内容:我只想知道如何获取这两个input
标记的内容,并将它们添加到活动的custom_payouts属性中,而不必在控制器中执行一些参数操作。我想你可以手动创建它,但我真的不想这么做,试着用text\u字段标记替换每个f.text\u字段
,你能告诉我工作版本吗,这样我就可以修复我的答案%td=text\u字段标记(“campaign[custom\u payous][/name]”,名称,类别:'form control')%td=text\u field\u标记(“活动[自定义支出][[百分比]”,百分比,类:'form control')这不会产生我想要的确切输出,但与我想要的足够接近,所以一切都很好