передача больших массивов через функцию link_to (или другими способами) в Rails - PullRequest
0 голосов
/ 24 марта 2012

Я знаю, что link_to по умолчанию использует действие get, а также вы можете изменить метод публикации, передав функцию: method =>: post to link_to, но, похоже, она не работает. Вот синтаксис, который я использую:

= link_to "Export" export_path (: data_array => d_array),: method => 'post'

Но, похоже, это не работает. Массив передается в качестве параметра запроса, который я вижу в поле URL, и он бомбит мое приложение, поскольку он превышает ограничение длины строки в строке URL.

1 Ответ

0 голосов
/ 24 марта 2012

Попробуйте использовать форму вместо:

= form_tag export_path do
  - d_array.each do |val|
    = hidden_field_tag 'data_array[]', val
  = submit_tag 'Export'

Обратите внимание, что в контроллере params[:data_array] будет массив строк.

...