2012-03-24 6 views
0

私はlink_toがデフォルトでアクションを取得することを知っていますし、method =>:link_to関数へのポストを渡すことでメソッドをポストするように変更できます動作していないようです。大規模な配列をlink_to関数(または他の方法で)経由でRailsに渡します

=のlink_to "エクスポート" export_path(::data_array => d_array)ここで私が使用している構文は、:メソッド=> 'ポスト'

しかし、これは動作するようには思えません。 URLの文字列に文字列の長さの制限が吹き込まれるので、配列はURLボックスに表示されるクエリパラメータとして渡されています。

答えて

0

代わりにフォームを使用してみてください:コントローラにparams[:data_array]は、文字列の配列であろうと

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

が気づきます。

+0

私は、このようなエクスポートリンクがこのページにたくさんある必要があります。理解しているように、1つのhtmlドキュメントに複数の "form" html要素を入れることはできません。 2.データ配列は実際には複雑な配列(または配列の配列)なので、それを1つのBLOBとして渡したい場合は、コントローラー関数で再計算する必要があります。 – Bharat

+0

@バラート1.どうしてですか?フォームがネストされていないことを確認してください。 2.それとは関係ありません。あなたは全体の文字列としてクエリを渡すか、同じ問題に遭遇するか、あなたのパラメータを解析する必要があります。 –

関連する問題