должно выглядеть следующим образом
class Schedule < ActiveRecord::Base
has_many :tasks
belongs_to :active_task,
:class_name => 'Task',
:foreign_key => 'active_task_id'
end
class Task < ActiveRecord:Base
belongs_to :schedule
has_one :relevant_schedule,
:class_name => 'Schedule',
:foreign_key => 'active_task_id'
end
концептуально сложная часть определяет отношение 'related_schedule'.в большинстве случаев это не нужно (то есть не будет использоваться кодом, который вы пишете), это необходимо для полноты ORM.
маловероятно, что вы когда-либо захотите использовать task.relevant_schedule
(во многихв противном случае это будет ноль), вы, вероятно, в основном захотите использовать schedule.active_task
в своем коде.
'related_schedule' - это произвольное имя, вы можете выбрать любое другое имя, которое вам нравится: class_name и: foreign_key должны точно совпадать с именами базы данных и модели.возможно, определение 'релевантного_складания' может быть вообще опущено.я не уверен.