我想通過可能的2個參數進行搜索,但都不需要存在。現在,如果沒有選擇任何東西,state_id將以「」的形式傳遞,而我不知道如何擺脫它。搜索潛在的多個參數
查看:
<div dropdown-toggle>
<%= form_tag('/municipalities', method: :get) do %>
<%= select_tag(options_for_select(@dropdown), {:allow_blank => "Please select"}, class: "btn btn-default btn-lg dropdown-toggle") %>
<%= submit_tag "Search", class: "btn btn-default"
%>
<%= link_to "Reset", municipalities_path, class: "btn btn-default" %>
<%= button_tag 'Counties Only', name: "municipality_type", value: "County", class: "btn btn-default pull-right" %>
<% end %>
</div>
控制器(我還是新的,所以這是不是乾淨,因爲它可以)
def index
@dropdown = State.all.map{ |s| [s.state, s.id]}
@municipality = Municipality.order(:name)
@count = @municipality.count
if !params[:state_id].to_s.blank? && params[:municipality_type].present?
@municipalities = Municipality.where(municipality_type: params[:municipality_type], state_id: params[:state_id])
@forms = Form.where(municipality_id: @municipalities, state_id: @state)
if !params[:state_id].blank?
@present = params[:state_id]
@state = params[:state_id]
@state_name = State.find(@state)
end
@count_state = @municipalities.count
elsif params[:state_id].present?
@present = params[:state_id]
@state = params[:state_id]
@state_name = State.find(@state)
@municipalities = Municipality.where(state_id: @state)
@forms = Form.where(municipality_id: @municipalities)
@count_state = @municipalities.count
else
@forms = nil
@state = State.all
@municipalities = Municipality.order(:name)
end
end
哪款車型是你想搜索? –