Как добавить новую ассоциацию в библиотечную модель

Я использую библиотеку заслуг в рельсах. И надеемся добавить ассоциацию в Merit::Score::Point, чтобы она имела связь has_one с другим вызовом модели ScoreWorkflow.

Ниже мой код. В этом коде я надеюсь добавить ассоциацию, чтобы я мог добавить has_one к модели библиотеки. Однако это не работает. Есть ли что-нибудь подобное, что я могу добавить некоторую функцию / ассоциацию в библиотечную модель. Благодарю.

module Merit
  module Score
    class Point < Point
      has_one :score_workflow
    end
  end
end

1 ответ

class ScoreWorkflow
      belongs_to :point
end

Если вы хотите это наоборот...

module Merit
  module Score
    class Point < Point
      belongs_to :score_workflow
    end
  end
end

... а также...

class ScoreWorkflow
      has_one :point
end

Иногда вы должны указать имена классов:

module Merit
  module Score
      class Point < Point
        has_one :score_workflow, :class_name => "ScoreWorkflow"
      end
  end
end


class ScoreWorkflow
    belongs_to :point, :class_name => "Merit::Score::Point"
end

Также обязательно проверьте свои внешние ключи, если вы используете ActiveRecord, чтобы они соответствовали соглашениям.

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