2014-01-24 5 views
0

Я пытаюсь создать функцию поиска в Rails 4. Я ее правильно выполнил и отображает результат, который я хочу, однако он также возвращает и отображает весь запрос базы данных. Все столбцы из таблицы, включая пароль дайджест и т. д. Я сделал это раньше, но не столкнулся с такой проблемой. Хотел бы знать, не делаю ли я что-то неправильно.Рельсы Результат поиска

вот мой контроллер:

def index 
    if params[:search] 
     @pro = Admin.search(params[:search]) 
    else 
     @pro = Admin.all 
    end 
end 

Администратор Модель:

def self.search(search) 
    if search 
     where('name LIKE ?', "%#{search}%") 
    else 
     scoped 
    end 
end 

А вот мое мнение:

<%= @pro.each do |ind| %> 
<ul> 
    <li><%= ind.name %></li> 
</ul> 
<% end %> 

в Chrome, я вижу, возвращенное имя человека из поиска, как мне хотелось бы, плюс метаданные, такие как id: 1, admin_id: 2, name "", email: "", password_digest: "" et c. в формате массива. Это то, что меня толкает, не знаю, почему это показывает это.

Когда я проверяю страницу в хроме, массив просто вставлен прямо под тегами.

Уходит, когда я удаляю весь метод .each на @pro. Любое понимание, которое любой может предоставить, ценится.

ответ

4

Линия в поле зрения должна быть <% @pro.each do |ind| %>. Если вы делаете <%= %>, результатом является фактический массив @pro, поэтому вы его вставляете под тегами.

Смежные вопросы