2011-12-14 8 views
0

私はrorの新人です。これは私の質問です。 は、私は2つのテーブルのセクションを作成するために、足場のコマンドを生成し使用してstudent.the列は セクションです - 名前:文字列 学生 - 名:文字列SECTION_ID:整数モデルでモデル関連するテーブルのフォームの仕組みを理解する

section.rb 

has_many :students 

student.rb 

belongs_to :section 

学生用の新しいフォームには、名前とセクションの2つの列があります。新しい学生を作成するには、学生が所属する各セクションのIDを知る必要がありますか?学生名とそのセクションを入力するフォームを取得する他の方法はありますか?studentsテーブルのヘルプでsection_nameに結合列を変更しますか?

答えて

0

テーブル内の関連する列名を変更する必要はありません。あなたのモデルの関連付けは正しいです。

1)はい、学生を作成するには、各セクションのIDを知っておく必要があります。 2)フォームが

<%= f.collection_select(:section_id, @sections,:id,:name) %> 

と学生コントローラのcreateアクション内のようになります。

@student = Student.new(params[:students]) 
@student.save 

ここ@sections = Section.all

+0

は答えてくれてありがとう – Isabella

0

あなたのフォームはあなたに:nameと:section_idを与えていると仮定すると、これはstudent#createで行うことができます。

def create 
    @student = Student.create(:name => params[:name], 
          :section_id => params[:section_id]) 
end 
関連する問題