У меня есть две модели (пользователи и курсы) и таблица JOIN, которая позволяет зачислять на курс:
class User < ActiveRecord::Base
has_many :enrollments, :dependent => :destroy
has_many :courses, :through => :enrollments
end
class Course < ActiveRecord::Base
has_many :enrollments, :dependent => :destroy
has_many :users, :through => :enrollments
end
class Enrollment < ActiveRecord::Base
belongs_to :user
belongs_to :course
end
Таблица enrollments JOIN имеет другие атрибуты, такие как оценка, процент выполнения и т. д. Однако ни один из атрибутов не требует ввода от пользователя, кроме регистрации. В идеале я хотел бы иметь ссылку new_course_enrollment(@course, {:user_id => current_user} )
, которая создает регистрацию в фоновом режиме (пользователю не нужно ничего вводить) и перенаправляет обратно на страницу курсов с заменой ссылки «зачисление» статусом «зачислен». Есть ли способ сделать это в моделях без необходимости изменять действие по умолчанию RESTful Enrollments#new контроллера?