rails O formulário aninhado do ActiveAdmin has_one accept_attributes_for formtastic issue
Estou usando o ActiveAdmin e o Rails 3.1 - tendo problemas para entender se o seguinte é um bug ou se existe alguma maneira de fazê-lo corretamente que não estou entendendo. Estou tentando usar um modelo aninhado com um relacionamento, para que eu possa criar uma página e preencher seus metadados em uma etapa. - (a página possui_um meta_dado, aceita_estados_atestados_para_ meta_dados)
Exemplo 1 neste exemplo, quando clico em uma nova página, a seção de metadados está lá, mas não há campos de entrada - também, se eu editar o registro, ele aparecerá corretamente, no entanto, o conjunto de campos é duplicado na segunda seção ... e se eu remover o f.inputs que envolve semantic_field_for (o que faria sentido), ele quebra completamente e não mostra nada na área de metadados ...
form do |f|
f.inputs "Page Information" do
f.input :name
f.input :uri
f.input :view
f.input :body, :as => :text
f.input :active
end
f.inputs "Meta Data" do
f.semantic_fields_for :meta_data do |meta_form|
meta_form.inputs :title, :description, :keywords, :name => "Meta Information"
end
end
end
Entendo que os metadados provavelmente não estão sendo instanciados, mas não tenho certeza de como devo fazer isso no bloco de formulários. (ou, se é que posso fazê-lo) - A única maneira de fazer isso funcionar é usando um formulário personalizado e criando os metadados na exibição, que se parece com isso
2) Como estou trabalhando nisso, mas parece hacky
<%= semantic_form_for [:admin, @page] do |f| %>
<% @page.build_meta_data %>
<%= f.inputs :name => "Page Information" do %>
<%= f.input :name %>
<%= f.input :uri %>
<%= f.input :view %>
<%= f.input :body, :as => :text %>
<%= f.input :active %>
<% end %>
<%= f.semantic_fields_for :meta_data do |meta_form| %>
<%= meta_form.inputs :title, :description, :keywords, :name => "Meta Information" %>
<% end %>
<%= f.buttons %>
<% end %>
Agradecemos antecipadamente por qualquer ajuda ou esclareciment
(observe para os moderadores que iniciei outro tópico sobre isso, mas não era tão claro e ainda não tinha a solução alternativa que eu tenho agora; portanto, se uma das perguntas for excluída, exclua a outra)