Направляющие не могут найти модель с тем же именем как класс Ruby

Благодаря всем, кто ответил. Путем я закончил тем, что реализовал, это было

dir . -filter "*.cs" -Recurse -name | foreach{(GC $_).Count} | measure-object -sum
6
задан 6 June 2009 в 23:17
поделиться

1 ответ

Не называйте это Сетом. Это безумие.

Дело в том, что определение класса не удается, потому что вы пытаетесь переопределить «Set», который уже определен в глобальном контексте.

class Set < ActiveRecord::Base # You are attempting to define a constant 'Set'
                               # here, but you can't because it already exists

Вы можете поместить свой класс в модуль, а затем вы не получит ошибку, потому что вы будете определять Set в пространстве имен.

module Custom
  class Set < ActiveRecord::Base
  end
end

Однако каждый раз, когда вы захотите использовать свой класс Set, вам придется называть его Custom :: Set. Большая часть магии Rails не сработает, потому что ожидает, что имена классов будут определены в глобальном контексте. Вы будете патчить плагины и драгоценные камни слева и справа.

Гораздо проще просто дать ему другое имя.

class CustomSet < ActiveRecord::Base

Вся магия работает, и обезьяны не требуются.

22
ответ дан 8 December 2019 в 05:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: