Поиск:

Ответ в темуСоздание новой темы Создание опроса
> При очистке в поисkе пустая страница 
:(
    Опции темы
Karta
Дата 27.4.2020, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 4.6.2009

Репутация: нет
Всего: 0



Добрый день.
Написала простой поиск в Ruby. В целом он рабочий, НО когда я в поиске удаляю текст, у меня отображается пустая страница. А должны отображать все пользователи. Ошибок никаких не выдает. Не могупонять, что я не правильно сделала... Может, кто-то, что-то подскажет?
Прилагаю код.
Код

persons_controller.rb

class PersonsController < ApplicationController
 def index
    @persons = User.all
  end

  def load
    @persons = User.paginate(page: params[:page], per_page: 30)
    respond_to do |format|
      format.html
      format.js
    end  
    render layout: false
  end

  def search
    @params = params[:search].split("=").last
    @persons = User.search(@params).paginate(page: params[:page], per_page: 30)
    respond_to :js
  end
end

Код

models/user.rb

class User < ApplicationRecord
  validates :full_name, presence: true
  def self.search(params)
    if params || params != ""
      User.all.where("LOWER(full_name) LIKE :search OR LOWER(title) LIKE :search", search: "%#{params}%")
    else
      User.all
    end
  end
end

Код

views/persons/load.html.erb

 <form class="input-field col s8" action="/persons" >
        <i class="material-icons prefix" aria-hidden="true">search</i>
        <%= form_tag "", url: persons_load_path, role: "search", remove:true, method: :get do %>
          <%= text_field_tag :search, nil, class: "search_persons"%>
        <% end %>
       </form>
<div id='persons' class="person_tbody_content">
    <%= render partial: "persons/person"%>
  </div>
  <%= will_paginate @persons %> 
<script type="text/javascript">
  $(".search_persons").keyup(function() {
    $.ajax({
      url: '/persons/search',
      data: {search: $(this).serialize()}
    });
  });
</script>

Код

views/persons/search.jsl.erb

$(".person_tbody_content").html("<%= j render(:partial => '/persons/person')%>");
$('.pagination').replaceWith('<%= j will_paginate (@persons) %>');

Спасибо!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Ruby: Общие вопросы"
source777
  • С чего начать? начинаем
  • Ссылки на полезные ресурсы смотрим тут
  • Обязательно следуйте правилам Vingrad.
  • Пожалуйста, прочитайте рекомендации по работе в форуме и навигации по Vingrad.
  • Для вставки кодов Ruby используйте тег: [code=ruby]код[/code]. Когда в будущем подсветка синтаксиса для Ruby будет реализована, весь исходных код преобразится.
  • Используйтe чекбокс "Транслит" (возле кнопок кодов), если у Вас нет русских шрифтов.
  • Помните, для каждого вопроса должна быть своя тема.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Ruby: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1014 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.