Ruby on rails 在RubyonRails中保存同一对象的多个
我有一个组织数据库表,其中包含以下字段: OrganizationId、OrganizationName、OrganizationAddressId、mainadminname、mainadminaddressid 这两个地址ID是指向地址数据库表中两条记录的指针。地址数据库表包含以下字段: addressid、addressline1、addressline2、addresstowncity、addresspostcode 因此,当我创建新组织时,我希望捕获以下信息:Ruby on rails 在RubyonRails中保存同一对象的多个,ruby-on-rails,Ruby On Rails,我有一个组织数据库表,其中包含以下字段: OrganizationId、OrganizationName、OrganizationAddressId、mainadminname、mainadminaddressid 这两个地址ID是指向地址数据库表中两条记录的指针。地址数据库表包含以下字段: addressid、addressline1、addressline2、addresstowncity、addresspostcode 因此,当我创建新组织时,我希望捕获以下信息: organisation
organisationname
organisationaddressline1
organisationaddressline2
organisationaddresstowncity
organisationaddresspostcode
mainadminname
mainadminaddressline1
mainadminaddressline2
mainadminaddresstowncity
mainadminaddresspostcode
当我保存这些信息时,我想创建一个组织记录和两个地址记录
我不知道如何在ROR中做到这一点
感谢您的建议
谢谢你的时间
嗅探器我认为这有助于您:
我认为这有助于您:
外观不太标准的rails列名,因此我猜您可能正在使用传统的DB,至少: 假设您的组织模型是这样的:
belongs_to :organization_address, :class_name => 'Address', :foreign_key => 'organisationaddressid'
belongs_to :main_admin_address, :class_name => 'Address', :foreign_key => 'mainadminaddressid'
# See http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html
# Make the organization accept nested attributes for the addresses
accepts_nested_attributes_for :organization_address, :main_admin_address
<% form_for Organization.new do |f| %>
<%= f.text_field :name %><br />
<% fields_for :organization_address do |oaf| %>
<%= oaf.text_field :addressline1 %><br />
<%= oaf.text_field :addressline2 %><br />
...
<% end %>
<%= f.text_field :name %><br />
<% fields_for :main_admin_address do |maaf| %>
<%= maaf.text_field :addressline1 %><br />
<%= maaf.text_field :addressline2 %><br />
...
<% end %>
<% end %>
您的表单可能看起来像这样,包含不同地址的字段:
belongs_to :organization_address, :class_name => 'Address', :foreign_key => 'organisationaddressid'
belongs_to :main_admin_address, :class_name => 'Address', :foreign_key => 'mainadminaddressid'
# See http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html
# Make the organization accept nested attributes for the addresses
accepts_nested_attributes_for :organization_address, :main_admin_address
<% form_for Organization.new do |f| %>
<%= f.text_field :name %><br />
<% fields_for :organization_address do |oaf| %>
<%= oaf.text_field :addressline1 %><br />
<%= oaf.text_field :addressline2 %><br />
...
<% end %>
<%= f.text_field :name %><br />
<% fields_for :main_admin_address do |maaf| %>
<%= maaf.text_field :addressline1 %><br />
<%= maaf.text_field :addressline2 %><br />
...
<% end %>
<% end %>
应保存组织模型以及两个地址模型 外观不太标准的rails列名,所以我猜您可能正在使用遗留数据库,至少: 假设您的组织模型是这样的:
belongs_to :organization_address, :class_name => 'Address', :foreign_key => 'organisationaddressid'
belongs_to :main_admin_address, :class_name => 'Address', :foreign_key => 'mainadminaddressid'
# See http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html
# Make the organization accept nested attributes for the addresses
accepts_nested_attributes_for :organization_address, :main_admin_address
<% form_for Organization.new do |f| %>
<%= f.text_field :name %><br />
<% fields_for :organization_address do |oaf| %>
<%= oaf.text_field :addressline1 %><br />
<%= oaf.text_field :addressline2 %><br />
...
<% end %>
<%= f.text_field :name %><br />
<% fields_for :main_admin_address do |maaf| %>
<%= maaf.text_field :addressline1 %><br />
<%= maaf.text_field :addressline2 %><br />
...
<% end %>
<% end %>
您的表单可能看起来像这样,包含不同地址的字段:
belongs_to :organization_address, :class_name => 'Address', :foreign_key => 'organisationaddressid'
belongs_to :main_admin_address, :class_name => 'Address', :foreign_key => 'mainadminaddressid'
# See http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html
# Make the organization accept nested attributes for the addresses
accepts_nested_attributes_for :organization_address, :main_admin_address
<% form_for Organization.new do |f| %>
<%= f.text_field :name %><br />
<% fields_for :organization_address do |oaf| %>
<%= oaf.text_field :addressline1 %><br />
<%= oaf.text_field :addressline2 %><br />
...
<% end %>
<%= f.text_field :name %><br />
<% fields_for :main_admin_address do |maaf| %>
<%= maaf.text_field :addressline1 %><br />
<%= maaf.text_field :addressline2 %><br />
...
<% end %>
<% end %>
应保存组织模型以及两个地址模型 最终到达了那里——这个答案让我走上了正确的道路,就像这篇文章一样——特别是对我所面临的类似问题的解决方案的一点反思。感谢你为我指出了正确的方向njorden。最终到达了那里-这个答案让我走上了正确的道路,与这篇文章一样-尤其是对我所面临的类似问题的解决方案的重新思考。谢谢你给我指出了njorden的正确方向。我没有时间看这些,但是铁路司机看起来是一个很好的资源。谢谢分享!我没时间看这些,但是铁路司机看起来是一个很好的资源。谢谢分享!