我正在使用地图应用,我想要一个功能,用户可以通过输入关键字并同时点击标签进行搜索。这应该显示该区域周围具有该标签的所有用户。这是它的外观:
user_controller.rb
def index
if params[:search].present?
@users = User.near(params[:search], 10, units: :mi)
elsif params[:tag].present?
@users = User.tagged_with(params[:tag], :match_all => true)
else
@users = User.all
end
end
index.html.erb
<%= text_field_tag :search, params[:search] %>
<%= submit_tag "Search" %>
<div id="tag_cloud">
<% tag_cloud User.tag_counts_on(:tags).order("name ASC"), %w[s m l] do |tag, css_class| %>
<%= link_to tag.name, tag_path(tag:(tag.name), class: css_class) %>
</div>
答案 0 :(得分:0)
由于您的问题缺乏实际问题,因此不确定您的需求,但为什么不简单地将您的请求链接起来呢?即:
def index
@users = User.all
@users = @users.near(params[:search], 10, units: :mi) if params[:search].present?
@users = @users.tagged_with(params[:tag], :match_all => true) if params[:tag].present?
end