Rails - эффективный способ поиска записей с определенным значением в модели - PullRequest
1 голос
/ 30 мая 2011

Поэтому я пытаюсь найти все записи в моей таблице, которые имеют определенное значение в определенном столбце.Единственный способ, которым я могу думать об этом, - это посмотреть на каждую запись и посмотреть, имеет ли она значение, но я надеялся, что будет более эффективное решение - это становится громоздким, если у вас есть значительная база данных.

У кого-нибудь есть идея получше?

Обновление - я создаю таблицу HTML и хочу заполнить таблицу всеми записями в моей модели, которые имеют определенное значение в определенном столбце.Я пытаюсь сделать:

<%= render @users.where("column_name = 'value'") %>

, как рекомендует ответ ниже, но я получаю "неопределенный метод` где 'для nil: NilClass ".

Обновление 2 - я не уверен, почему@users будет ноль, но я постараюсь выяснить это позже.На данный момент я попробовал

<% @user_message = User.where("column_name = 'value'") %>
<%= render @user_message %>

, но он не показывает никаких записей вообще.

Обновление 3 - Когда я запускаю User.all в консоли rails, я получаю всех пользователейтак что я знаю, что данные есть.Однако, когда я делаю User.where ("column_name = 'value'"), я получаю пустой массив.Я дважды проверил имя и значение столбца, чтобы убедиться в наличии данных.

Обновление 4 - исправлено!- Я не уверен, почему это не работает в консоли рельсов, но я заставил его работать на сайте.Я назвал свой частичный _user_message.html.erb.По-видимому, он все еще должен называться _user.html.erb.Спасибо всем за помощь!

1 Ответ

2 голосов
/ 30 мая 2011

Звучит так, будто вы хотите выполнить запрос where, т.е.

@records = Model.where(:some_column => some_value)

Rails имеет отличную документацию, я предлагаю вам взглянуть на руководство по ActiveRecord Query:

http://guides.rubyonrails.org/active_record_querying.html

Иэн.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...