首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Searchlogic设置默认搜索条件?

如何使用Searchlogic设置默认搜索条件?
EN

Stack Overflow用户
提问于 2010-04-21 22:00:08
回答 1查看 516关注 0票数 0

我在这个页面上有一个搜索表:

http://staging-checkpointtracker.aptanacloud.com/events

如果您从下拉列表中选择一个州,则会得到零结果,因为您没有选择一个或多个Event Division (复选框)。

我想要的是默认复选框为“选中”时,页面第一次loads...to显示事件在所有Divisions...but我希望由用户所做的更改,以反映当他们过滤。

下面是我的事件控制器中的index方法:

代码语言:javascript
复制
def index
  @search = Event.search(params[:search])

  respond_to do |format|
    format.html # index.html.erb
    format.xml  { render :xml => @events }
  end
end

这是我的搜索表单:

代码语言:javascript
复制
<% form_for @search do |f| %>

<div>
<%= f.label :state_is, "State" %> <%= f.select :state_is, ['AK','AL','AR','AZ','CA','CO','CT','DC','DE','FL','GA','HI','IA','ID','IL','IN','KS','KY','LA','MA','MD','ME','MI','MN','MO','MS','MT','NC','ND','NE','NH','NJ','NM','NV','NY','OH','OK','OR','PA','RI','SC','SD','TN','TX','UT','VA','VT','WA','WI','WV','WY'], :include_blank => true %>
</div>

<div>
    <%= f.check_box :division_like_any, {:name => "search[:division_like_any][]"}, "Sprint", :checked => true %> Sprint (2+ hours)<br/>
    <%= f.check_box :division_like_any, {:name => "search[:division_like_any][]"}, "Sport" %> Sport (12+ hours)<br/>
    <%= f.check_box :division_like_any, {:name => "search[:division_like_any][]"}, "Adventure" %> Adventure (18+ hours)<br/>
    <%= f.check_box :division_like_any, {:name => "search[:division_like_any][]"}, "Expedition" %> Expedition (48+ hours)<br/>
</div>

<%= f.submit "Find Events" %>
<%= link_to 'Clear', '/events' %>
<% end %>
EN

回答 1

Stack Overflow用户

发布于 2010-04-21 23:14:58

有几种方法可以做到这一点,我认为最简单/最快的方法是:

代码语言:javascript
复制
@search = Event.search(params[:search] || Event::DEFAULT_SEARCH_PARAMETERS)

在event.rb中

代码语言:javascript
复制
class Event < A:RB
  DEFAULT_SEARCH_PARAMETERS = {:state_is => 'NY', :foo => 'bar'} # set your defaults here
end

话虽如此,我不确定如何使用复选框。您还可以考虑以下选项之一:

有一个包含所有可搜索参数的SearchSetting模型(如果用户可以保存搜索,或者只是将其断开连接,您还可以为用户保留此模型)。这将使您的表单变得更简单。

添加All Divisions复选框,该复选框在默认情况下处于选中状态。使用一点javascript来管理复选框的状态和一个自定义的search方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2683540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档