Scoping f.collection_select

У меня есть модель, на которой я использую collection_select, и я хотел бы расширить ее, чтобы показывать только открытые учетные записи. Для этого я добавил логическое поле в свой account модель, по умолчанию false,

Вот моя попытка сделать это в моей модели аккаунта:

def open_accounts
    self.where(account_closed: false)
end

И где я пытаюсь использовать этот метод в представлении другой модели:

<%= f.collection_select :account_id, current_user.accounts.open_accounts, :id, :registration %>

Я сталкиваюсь с ошибкой отсутствия метода, несмотря на попытку добавить метод к обоим моим user и мой account моделей.

Какие-нибудь мысли?

1 ответ

Хорошо, кажется, я мог спросить слишком рано. Не стесняйтесь комментировать целесообразность этого решения:

добавленной scope :open_accounts, -> {where(account_closed: [nil, false])} к моему account модель. В остальном то же самое, что и выше.

Другие вопросы по тегам