Вопрос

У меня есть таблица под названием «Пользователи» (class User < ActiveRecord::Base) и подкласс/ИТ -ИТ для клиентов (class Client < User).

Клиент «фильтрация» работает, как и ожидалось, другими словами client.find (: Все) работает, чтобы найти всех клиентов.

Однако для пользователей мне нужно отфильтровать результат, чтобы найти только пользователей, которые не являются клиентами (где тип нулевой или пустой).

Я попробовал следующее в своем индексе -контроллере, но независимо от того, что я положил для типа, он возвращает всех пользователей независимо от типа.

User.find(:all, :conditions => { :type => nil }, :order => 'name')

Любая подсказка о том, как заставить это условие работать?

Спасибо!

Это было полезно?

Решение 2

ОК, понял это!

Приложение использует LIB для методов контроллера по умолчанию (аналогично Resource_controller), и я неправильно перезаписывал метод индекса в пользовательском контроллере.

Спасибо за помощь, ахим !!

Другие советы

Я не знаю, как заполнен атрибут «тип». Но если тип - это столбец базы данных, вы сможете отфильтровать его с помощью соответствующего выражения SQL:

User.find(:all, :conditions => [ " type=null or type='' "])

Или вы имеете в виду функцию «класс»? «Тип» устарел, насколько я знаю. Государства IRB: Предупреждение: тип объекта#устарел; Используйте объект#класс

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top