我有一个Rails / Angular应用程序,在编辑页面上,我对文本字段输入进行了一些处理。然后我想将结果传递给另一个(不可见)文本字段,它是Rails表单的一部分。处理结果是一个数组,在传递给(通常不可见)文本字段后,如下所示。
当我现在发送表单时,我在后端得到以下错误(后端正在等待数组处理):
undefined method `each' for "[\"mvsdjfs\"]":String
对我而言似乎是因为我正在发送文本字段的内容,所以它是以字符串形式发送的。将此作为数组发送的最佳方法是什么?谢谢!
答案 0 :(得分:0)
2.1.5 :016 > c = "one, two, three"
=> "one, two, three"
2.1.5 :017 > c.split(',')
=> ["one", " two", " three"]
来自问题评论:
如果没有
,
字符串保持字符串?
您至少需要拆分一些元素,并且在更新隐藏字段时需要使用javascript添加此元素。
2.1.5 :018 > c = "one/ two/ three"
=> "one/ two/ three"
2.1.5 :019 > c.split('/')
=> ["one", " two", " three"]
答案 1 :(得分:0)
我最后添加了一个像这样的辅助方法,如果它可以帮助某人,但会将其添加为答案,但是当你向我指出正确的方向时会接受你的答案:)
def something
array_i_fy(params[:contact][:labels]).each do .....
end
def array_i_fy(object)
return object.str.split(',') if object.class == Array
[object]
end