Я использую ActiveAdmin и Rails 3.1 - у меня проблемы с пониманием, является ли следующее ошибкой или есть какой-то способ сделать это правильно, чего я не понимаю.Я пытаюсь использовать вложенную модель, у которой есть одно отношение, так что я могу создать страницу и заполнить ее метаданными за 1 шаг.- (страница has_one meta_data, accepts_nested_attributes_for meta_data)
Пример 1) в этом примере, когда я нажимаю новую страницу, появляется раздел метаданных, но нет полей ввода - также,если я редактирую запись, она отображается правильно, однако набор полей дублируется во втором разделе ... и если я удаляю обертку f.inputs semantic_field_for (что имело бы смысл), то она полностью ломается и ничего не показывает в метаобласть данных ...
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
Я понимаю, что метаданные, вероятно, не создаются, но я не уверен, как я должен делать это в блоке формы?(или, если я могу даже сделать это) - Единственный способ, которым я могу заставить это работать, состоит в том, чтобы использовать пользовательскую форму и создавать метаданные в представлении, которое выглядит следующим образом
2) Как я обхожу это, но кажется хакерским
<%= 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 %>
Заранее благодарен за любую помощь или разъяснение.
(примечание для модераторов, я создал другую тему наэто было не так ясно и у меня не было временного решения, которое у меня сейчас есть, поэтому, если один из вопросов необходимо удалить, удалите другой)