2012-07-27 80 views
0

所以我有一个文本框,用户可以在其中放置逗号分隔的卡ID,例如1,2,3。当此用户提交表单时,我想为他提交的每个ID创建一个新记录。所以一个为1,一个为2,一个为3.从逗号分隔的ID一次创建多个记录

我该怎么做?

谢谢

+0

您也可以使用批量插入,请参见[这个问题] [1] [1]:http://stackoverflow.com/questions/8505263/how-to-implement-bulk-插入式护栏-3 – Arthur 2012-07-27 17:49:35

回答

0

您必须从控制器中的文本字段解析输入值。 例如:

0

尝试

ModelName.create(input_string.split(',').map{ |i| { :field => i.strip } }) 

split会分裂的逗号和地图输入将产生{ :field => i }数组,其中:field是型号的文本字段。

0

有几种方式来完成,取决于您的特定需求。 一种方法是循环访问控制器中的所有条目,例如@ rogal111在他的回答中提示。

如果你的用户和卡片之间有一对多的关系,这很可能是最好的选择,我建议你通过嵌套的形式来完成它。瑞恩贝茨在那个上做了一些出色的screencasts