Родословная: пропустить элемент из области видимости

Использование драгоценного происхождения.

Как пропустить элемент self из Category::ActiveRecordRelation или нужно использовать область?

= simple_form_for @category do |f|
  = f.input :parent_id, collection: Category.roots 

Что-то вроде:

= f.input :parent_id, collection: Category.roots.except(@category)

1 ответ

Решение
= f.input :parent_id, collection: Category.roots.where("id <> ?", @category.id)

или через область

category.rb

scope :except, lambda{ |category| where("id <> ?", category.id) }

затем

= f.input :parent_id, collection: Category.roots.except(@category)
Другие вопросы по тегам