複数のパラメータをビューからコントローラに渡すにはどうすればよいですか?私は、例えばのような要求を実行する必要があります。複数のパラメータをレールでlink_toで渡す
GET "/indicators/data?country_id=5&statistic_id=12&anotherparameter_id=anothervalue, ...."
各パラメータには、独自のlink_toの選択によって生成され、私は私のモデルを照会するために一緒にパラメータを使用したいと思います。
#app/views/indicators/index.html.erb
<!--statistic select button-->
<ul id = "statistics">
<% Statistic.all.each do |stat| %>
<li><%= link_to stat.indicator_name, :action => "data", :controller => "indicators", :statistic_id => stat.indicator_code, remote: true %></li>
<% end %>
</ul>
<!--country select button-->
<ul id = "countries">
<% Country.all.each do |c| %>
<li><%= link_to c.name, :action => "data", :controller => "indicators", :country_id => c.id, remote: true %></li>
<% end %>
</ul>
#config/routes.rb
get 'indicators/data' => 'indicators#data'
#app/controllers/indicators_controller.rb
def data
@country = Country.find(params[:country_id]).name
@statistic = params[:statistic_id]
@queryresult = Mymodel.where(country: @country, statistic: @statistic)
respond_to do |format|
format.js
end
end
編集:私はそうのように行うに助言する答えに遭遇しました:。
link_to "Nonsense search", searches_path(:foo => "bar", :baz => "quux")
# => <a href="/searches?foo=bar&baz=quux">Nonsense search</a>
しかし、私の場合、私は2つの異なるリンク(例えばfooへの対応する単一のパラメータを持つものを持っているチェックボックスを)、もう一つはbaz(例えばドロップダウン)のための単一のパラメータです。課題は、異なるリンクからパラメータを引き出し、それらをまとめていく方法です。
すでにこのhttp://stackoverflow.com/questions/10773695/rails-passing-parameters-in-link-to?rq=1上のかなりの数の質問がありますが読む
– Iceman
既存の質問に加えて、既に複数のパラメータを持つリンクを使用する回答があります。まだ答えが見つかりませんでしたか?たぶんあなたの質問には詳細や説明が必要かもしれません。 – Gerry
@gerry私は1つのリンクの例で複数のパラメータを見ていました。 EDIT – amo