2012-04-04 63 views
0

我有几个型号 - 用户教师TeacherLeader嵌套属性好的状态,belongs_to的少数机型模型

class User < ActiveRecord::Base                
    attr_accessible ..., 
        :teacher_attributes 

    has_one :teacher 
    has_one :teacher_leader 

    accepts_nested_attributes_for :teacher_leader 
end 

class Teacher < ActiveRecord::Base 
    belongs_to :user            
    has_one :teacher_leader 
end 

class TeacherLeader < ActiveRecord::Base 
    belongs_to :user 
    belongs_to :teacher 
end 

我想通过嵌套的属性,以填补TeacherLeader。所以,我在控制器做这样的事情:

class TeacherLeadersController < ApplicationController 
    ... 
    def new 
    @user = User.new 
    @teacher_leader = @user.build_teacher_leader 

    @teachers_collection = Teacher.all.collect do |t| 
     [ "#{t.teacher_last_name} #{t.teacher_first_name} #{t.teacher_middle_name}", t.id ] 
    end 

    @choosen_teacher = @teachers_collection.first.last unless @teachers_collection.empty? 
    end 
end 

,也有这样的说法(new.html.erb):

<%= form_for @user, :url => teacher_leaders_url, :html => {:class => "form-horizontal"} do |f| %> 
<%= field_set_tag do %> 
    <% f.fields_for :teacher_leader do |tl| %> 
    <div class="control-group"> 
     <%= tl.label :teacher_id, "Teacher names", :class => "control-label" %> 
     <div class="controls"> 
       <%= select_tag(:teacher_id, 
        options_for_select(@teachers_collection, @choosen_teacher)) %>   
     </div> 
    </div> 
    <% end %> 
<% end %> 

    ...  

<%= f.submit "Create", :class => "btn btn-large btn-success" %> 
<% end %> 

问题是,选择形式在这里不会出现。为什么?我做错了什么?

+0

所有选择形式或只有选项? – Falcon 2012-04-04 11:47:45

+0

选择表格。没有看到偶标签。 – ExiRe 2012-04-04 11:48:33

回答

1
<%= f.fields_for :teacher_leader do |tl| %>