Plots2: рдЦреЛрдЬ рдПрдкреАрдЖрдИ: рдПрдВрдбрдкреЙрдЗрдВрдЯ /srch/рдирд┐рдХрдЯрд╡рд░реНрддреАрд▓реЛрдЧреЛрдВ рдХреЛ рд╕рдмрд╕реЗ рд╣рд╛рд▓ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдХреНрд░рдордмрджреНрдз рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 22 рдЕрдХреНрддреВре░ 2018  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: publiclab/plots2

рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣рд╛рдВ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИ ( рдкреНрд░рд╢реНрди: рд╣рдо рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рдФрд░ рдХреНрдпрд╛ рдбреЗрдЯрд╛-рд▓реЗрдпрд░ рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ? ) рдореИрдВрдиреЗ рджрд┐рдП рдЧрдП рдЕрдХреНрд╖рд╛рдВрд╢, рджреЗрд╢рд╛рдВрддрд░ рдФрд░ рдЯреИрдЧ (рд╡реИрдХрд▓реНрдкрд┐рдХ) рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдЖрд╕-рдкрд╛рд╕ рдХреЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рд╡рд┐рдзрд┐ рд▓рд╛рдЧреВ рдХреА (#3719)ред

рдХреЛрдб рдпрд╣рд╛рдБ рд╣реИ: https://github.com/publiclab/plots2/blob/master/app/services/search_service.rb#L118 -L146

  def tagNearbyPeople(query, tag, limit = 10)
    raise("Must separate coordinates with ,") unless query.include? ","

    lat, lon =  query.split(',')

    user_locations = User.where('rusers.status <> 0')\
                         .joins(:user_tags)\
                         .where('value LIKE ?', 'lat:' + lat[0..lat.length - 2] + '%')\
                         .distinct
    if tag.present?
      user_locations = User.joins(:user_tags)\
                       .where('user_tags.value LIKE ?', tag)\
                       .where(id: user_locations.select("rusers.id"))
    end

    ids = user_locations.collect(&:id).uniq || []

    items = User.where('rusers.status <> 0').joins(:user_tags)
                .where('rusers.id IN (?) AND value LIKE ?', ids, 'lon:' + lon[0..lon.length - 2] + '%')

    # selects the items whose node_tags don't have the location:blurred tag
    items.select do |item|
      item.user_tags.none? do |user_tag|
        user_tag.name == "location:blurred"
      end
    end

    items = items.limit(limit)
  end

рдЕрдм, рдЕрдЧрд▓реЗ рдЪрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рд╣рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рд╣рд╛рд▓ рдХреЗ рд╕рд╛рдЗрди рдЕрдк рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдзрд┐ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

search_profiles() рд╡рд┐рдзрд┐ рд╣рд╛рд▓ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рддреА рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрд╕реА рд░рдгрдиреАрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣рд╛рдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

Ruby help wanted search

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ !!!

@milaraujo рдХреНрдпрд╛ рдореИрдВ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?

рдЬрд╝рд░реВрд░, рдмрд╕ рд╕рдорд╕реНрдпрд╛ рдЦреБрдж рдХреЛ рд╕реМрдВрдкреЗрдВ!

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

keshavsethi picture keshavsethi  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

shapironick picture shapironick  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

grvsachdeva picture grvsachdeva  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

RuthNjeri picture RuthNjeri  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

first-timers[bot] picture first-timers[bot]  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ