我有两个模型(用户和课程)和一个允许注册课程的 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
注册 JOIN 表具有其他属性,例如成绩、完成百分比等。但是,除了注册之外,没有任何属性需要用户输入。理想情况下,我希望有一个new_course_enrollment(@course, {:user_id => current_user} )
链接在后台创建注册(用户无需输入任何内容)并重定向回课程页面,其中“注册”链接替换为“已注册”状态。有没有办法在模型中执行此操作,而无需更改默认的 RESTful Enrollments#new 控制器操作?