私のコントローラーには、これがあります:
def index
filter = []
if !params[:paid].blank?
paid = params[:paid]
filter << ["copay_received = '#{paid.to_s}'"]
end
if !params[:junk].blank?
junk = params[:junk][:effective_on]
filter << ["clients.effective_on >= '#{junk.to_s}'"]
end
@unpaids = Appointment.joins(:client).where(filter.join(" AND "))
end
これは、この質問に対する (受け入れられない) 回答に基づいています。
インデックスページで検索に使用したフォームは次のとおりです。
<%= form_tag("/", method: "get") do %>
<%= label_tag(:paid, "Search for:") %>
<%= check_box_tag(:paid) %>
<%= date_field(:junk, :effective_on) %>
<%= submit_tag("Search") %>
<% end %>
最終的にdate_fieldが機能するようになりました(effective_onパラメーターで示されているように)。
しかし、私の質問は、:effective_on
到達するために同じことをする必要がないのに、取得するために params ハッシュに追加のレイヤーを下に移動する必要があるのはなぜ:paid
ですか?