1
class SubjectTeachersController < ApplicationController

def new
  @st = SubjectTeacher.new   
  @tnames = Teacher.pluck(:tname)
  @subs = Subject.pluck(:sub_name)

end    

def create
   @tech = Teacher.find(params[:tname]).id
   @sub = Subject.find(params[:sub_name]).id
   @st = SubjectTeacher.create(:teacher_id => @tech, :subject_id => @sub )
    if @st.save
        flash[:notice] = " creates successfully"
    else
      render('new')
        end    
  end   
end 

Subject と Teacher の間に多くの関係を築きました。SubjectTeacher は Subject と Teacher の結合テーブルです。SubjectTeacherController で。

ここで、@tnames はすべての教師名を保存し、@subs はすべての科目名を保存します。コントローラーで両方のIDにアクセスしたい...どのように? 作成機能で何か変更を加える必要がありますか? 電話してください...

4

1 に答える 1

1

Railsは、の形式の「魔法の」ファインダーメソッドを提供しますModel.find_by_attribute

この場合Teacher.find_by_tname(params[:tname])Subject.find_by_sub_name(params[:subname])

于 2012-08-16T13:08:28.943 に答える