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
модель. В остальном то же самое, что и выше.