I ont deux modèles (utilisateurs et cours) et une table de jointure qui permet les inscriptions au cours:Comment puis-je demander à l'utilisateur de créer une table has_many: through sans attributs utilisateur?
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
Les inscriptions REJOIGNEZ table a d'autres attributs tels que la catégorie, pour cent terminé, etc. Cependant, aucun des les attributs requièrent une entrée de l'utilisateur, autre que l'inscription. Idéalement, j'aimerais avoir un lien new_course_enrollment(@course, {:user_id => current_user})
qui crée l'inscription en arrière-plan (inutile à l'utilisateur d'entrer quoi que ce soit) et redirige vers la page des cours, avec le lien «inscription» remplacé par le statut «inscrit». Existe-t-il un moyen de le faire dans les modèles, sans avoir besoin de modifier l'action par défaut RESTful Enrollments # new controller?