如何在rails 3中使用“accepts_nested_attributes_for”?

时间:2013-12-07 22:43:27

标签: ruby-on-rails-3 nested-forms

我正在关注文档并使用simple_form,formtastic和nested_form gems,但没有成功。这个非常简单的例子对我来说是空的:

resort.rb

class Resort < ActiveRecord::Base
  attr_accessible :address, :description, :latitude, :longitude, :name, :phone, :second_name,
                  :resort_type_id, :infrastructure_attributes

  validates_presence_of :name, :address, :phone, :description

  has_many :infrastructures
  belongs_to :resort_type

  accepts_nested_attributes_for :infrastructures
end

infrastructure.rb

class Infrastructure < ActiveRecord::Base
  attr_accessible :name, :description, :infrastructure_type_id, :resort_id

  belongs_to :resort
  belongs_to :infrastructure_type
end

表格视图

= form_for @resort do |f|
  = f.fields_for :infrastructures do |i|
    = i.text_field :name

似乎我错过了一些明显的东西,但无法弄清楚代码到底出了什么问题。

1 个答案:

答案 0 :(得分:1)

如果我可能会问,在您的控制器操作中,您是否为您的基础架构构建了适当的代码。就像是  3.times {@resort = @ resort.infrastrucures.build}

据我所知,在构建适当的嵌套表单内容

之前,您需要为表单提供类似的内容