Can Rails控制器可以修复数组格式

时间:2017-10-24 19:58:38

标签: jquery ruby-on-rails

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); 

1 个答案:

答案 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]