Rails 4:fields_for中的fields_for
我正在学习RoR,我正在尝试找到如何使用has_one模型在另一个中设置fields_for:
class Child < ActiveRecord::Base belongs_to :father accepts_nested_attributes_for :father end class Father < ActiveRecord::Base has_one :child belongs_to :grandfather accepts_nested_attributes_for :grandfather end class Grandfather < ActiveRecord::Base has_one :father end
我在Railscasts上使用嵌套模型表单第1部分来获取这些:在children_controller.rb中:
def new @child = Child.new father=@child.build_father father.build_grandfather end def child_params params.require(:child).permit(:name, father_attributes:[:name], grandfather_attributes:[:name]) end
我的表格:
mother:
grand mother:
我试图用以下方法检索数据:
但爷爷的名字不会起作用。 我找不到错误……有人帮忙吗? 谢谢!
尝试切换:
<%= f.fields_for :grandfather do |fff| %>
至:
<%= ff.fields_for :grandfather do |fff| %>
并切换:
params.require(:child).permit(:name, father_attributes:[:name], grandfather_attributes:[:name])
至:
params.require(:child).permit(:name, father_attributes:[:name, grandfather_attributes:[:name]])