0

検索ページで、フォームを介して index アクションにクエリを送信します。

= form_tag reports_path, method: 'get' do
  = text_field_tag :query, params[:query]

reports#index私はそれをビューからビューにうまく渡し#showます:

= link_to params[:query] ? query_report_path(report.id, params[:query]) : report do

このルートのために可能です:

  resources :reports do
    get ':query', to: 'reports#show', on: :member, as: :query

linkしかし、ビュー内の#index アクションに同じクエリを戻そうとしていreports#showます:

= link_to 'Back', reports_path, query: @query

しかし、それは失敗しています: :query= nil .

も試しました:

= link_to 'Back', reports_path(query: @query, class: 'btn btn-small')

まったく機能しません...

ルーティング構文につまずいてしまいました...再び! 正しい構文は何ですか? これを行うより良い方法はありますか?これが、イニシャルがトリガーしているのと同じget reports#index with :queryparam をトリガーしないのはなぜform_tagですか?

ありがとう!

4

1 に答える 1

0

2回目の試行は近いと思いますが、括弧が間違っています。への引数としてではなくclass: 'btn btn-small'、3 番目の引数としてHTML オプション ハッシュを渡してみてください。link_toreports_path

于 2012-09-21T17:24:25.650 に答える