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 %>
问题是,选择形式在这里不会出现。为什么?我做错了什么?
所有选择形式或只有选项? – Falcon 2012-04-04 11:47:45
选择表格。没有看到偶标签。 – ExiRe 2012-04-04 11:48:33