Добавление действия участника?(Rails) - PullRequest
0 голосов
/ 15 марта 2011

У меня определены следующие маршруты:

  resources :patients do
  collection do
      get  'import' => :new_import
      post 'import' => :import    
    end
  end

resources :course_enrollments, :only => [:index, :show] do
    member do
      get 'completed'
      post 'complete_course_enrollment'
    end
  end

Я хочу, чтобы можно было отображать записи на курсы и добавлять записи на курсы для пациента.Должен ли этот маршрут идти в качестве участника действий "/ Patient /: ID / Enrollments" и / пациентов / ID: / add_enrollment?

Или я должен вложить маршруты?

Ниже приведены модели:

class Patient < ActiveRecord::Base
  belongs_to :user, :dependent => :destroy
  has_many :enrollments, :dependent => :destroy
  has_many :clients, :through => :enrollments
  has_many :course_requests, :dependent => :destroy
  has_many :course_enrollments, :dependent => :destroy
  has_many :courses, :through => :course_enrollments
  has_many :quiz_attempts, :dependent => :destroy
  has_many :patient_course_steps, :dependent => :destroy
  has_many :survey_results, :dependent => :destroy
  accepts_nested_attributes_for :user
  accepts_nested_attributes_for :enrollments
  attr_accessible :user_attributes, :client_ids, :enrollments_attributes, :insurance
  validate :has_clients?

end

class CourseEnrollment < ActiveRecord::Base
  belongs_to :patient
  belongs_to :course

  attr_accessible :patient_id, :course_id, :started, :completed, :last_viewed
  validates_uniqueness_of :patient_id, :scope => :course_id
end

1 Ответ

1 голос
/ 15 марта 2011
resources :patients do
  resources :course_enrollments, :as => :enrollments
  collection do
      get  'import' => :new_import
      post 'import' => :import    
  end
end

Даст вам patient_course_enrollments_path за /patients/:id/enrollments, как вы хотели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...