我有两个模型
class Office < ActiveRecord::Base
has_many :locations, :dependent => :destroy
end
class Location < ActiveRecord::Base
belongs_to :office
end
办公室模型new.html.erb
以及OfficeController
def create
@office = Office.new(params[:deal])
if @office.save
redirect_to office_url, :notice => "Successfully created office."
else
render :action => 'new'
end
end
如何在Location
的{{1}}中添加new.html.erb
模型的字段?
我希望能够以相同的形式拥有位置字段。
答案 0 :(得分:3)
您必须使用嵌套属性才能执行此操作。幸运的是,Rails让它变得非常简单。这是如何做到的:
首先,通过添加以下行向Office表示您正在为其提供位置字段:
accepts_nested_attributes_for :location
。
现在,在new.html.erb
中,添加所需的字段。假设我们想拥有城市和州:
<%= f.fields_for :location do |ff| %>
<%= ff.label :city %>
<%= ff.text_field :city %>
<%= ff.label :state %>
<%= ff.text_field :state %>
<% end %>
就是这样!