Я новичок в rails и использую комбинацию formtastic, activeadmin, sti и polymorphic ассоциаций для создания формы
Когда II может создать вложенную форму с родительским адресом без проблем, но когда я представляюSTI и попытка построить build_origin_address вместо build_address, то есть, когда я получаю ошибку ниже при загрузке представления редактирования
NameError в Admin / приводит # редактировать Показывается ... / app / views / admin / приводит / _form.эрб, где поднята строка # 3: неинициализированная константа Lead :: OriginAddress
Модели:
class Address < ActiveRecord::Base
belongs_to :addressable, :polymorphic => true
belongs_to :lead
validates :line1, :presence => true, :length => {:minimum => 2}
attr_accessible :line1, :line2, :city, :state, :zip, :country
end
class OriginAddress < Address
end
class DestinationAddress < Address
end
class Lead < ActiveRecord::Base
has_one :origin_address, :dependent => :destroy, :as => :addressable
accepts_nested_attributes_for :origin_address, :allow_destroy => true
end
частичное использование в режиме редактирования:
<%= semantic_form_for [:admin, @lead] do |f| %>
<% @lead.build_origin_address unless @lead.origin_address %>
<%= f.inputs :name => "Lead Info" do %>
<%= f.input :first_name %>
<%= f.input :last_name %>
<% end %>
<%= f.semantic_fields_for :origin_address do |origin| %>
<%= origin.inputs :name => "Origin Address" do %>
<%= origin.input :line1 %>
....
<% end %>
<% end %>
<%= f.buttons do %>
<%= f.commit_button %>
<% end %>
<% end %>