3

我需要将学生(用户)分配给班级(studentclasses)

我使用 3 个表有一个简单的多对多关系:

学生班(课程详情)

用户 (用户...学生信息)

studentclass_users(包含user_idstudentclass_id的联接表)

我正在使用 has_many :through,我的模型如下所示:

学生类.rb

class Studentclass < ActiveRecord::Base
  has_many :studentclass_users
  has_many :users, :through => :studentclass_users
end

用户.rb

class User < ActiveRecord::Base

    ...more here...

    has_many :studentclass_users
    has_many :studentclasses, :through => :studentclass_users
end

studentclass_users.rb

class StudentclassUsers < ActiveRecord::Base
  belongs_to :studentclass
  belongs_to :user
end

出于测试目的,我只是在我的学生类新视图中使用了一个隐藏字段,以在创建类时添加用户 ID,如下所示:

_new.html.erb

<%= hidden_field_tag "studentclass[user_ids][]", 29%>

在我的学生类控制器中:

studentclasses_controller.rb

def new
  @studentclass = Studentclass.new
end 

def create
  @studentclass = Studentclass.new(params[:studentclass])
  @studentclass.save!
end

我的参数回来了:

参数:{"utf8"=>"✓", "authenticity_token"=>"MjBTf4rtcyo8inADrSxPZB3vLOKtlZRVFlQJJzfCqWs=", "studentclass"=>{"class_title"=>"hjhkj", "user_ids"=>["29"]}, "提交"=>"保存"}

这看起来不错,但我收到以下错误:

NameError(未初始化的常量 ActiveRecord::HasManyThroughSourceAssociationMacroError):

我认为这可能是简单的命名?任何帮助,将不胜感激

4

0 回答 0