Noob to Rubes。我有一个数组,我在一个js文件中构建,我插入到文本区域。这工作正常,但是当我提交表单时,数组看起来像这样[“68 \ r \ n67 \ r \ n66”]。 我只想让歌曲列表数组(见下面的控制器)看起来像[68,67,66]
<%= form_tag(song_lists_path, multipart: true, role: 'form') do %>
<div class="form-group" >
<%= label_tag 'songs', 'Add Songs'%>
<%= text_area_tag 'songs' %>
</div>
<%= button_tag 'upload songs', class: 'btn btn-primary' %>
我的控制器代码:
my_songs = Array.new()
puts "without items #{my_songs}"
song_list = my_songs.push(params[:songs])
puts "This is my array #{my_songs}"
如果你想知道我是如何构建数组并将其插入.js文件中的话:
currentVal = addedSongs.join("\n");
$('#songs').val(currentVal);
答案 0 :(得分:0)
你可以调用String#split
来破坏空格/换行符号上的字符串并给出一个数组
params[:songs] #=> "68\r\n67\r\n66"
song_list = params[:songs].split
#=> ["68", "67", "66"]
如果您需要数字,这将分解数组并转换整数中的每个条目:
song_list = params[:songs].split.map(&:to_i)
#=> [68, 67, 66]