Я использую ActiveAdmin и Rails 3.1 - у меня проблемы с пониманием того, является ли следующая ошибка ошибкой или есть какой-то способ сделать это правильно, чего я не понимаю. Я пытаюсь использовать вложенную модель с одним отношением, чтобы я мог создать страницу и заполнить ее метаданные за 1 шаг. -- (страница имеет_одну метаданные, принимает_вложенные_атрибуты_для мета_данных)
Пример 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 %>
Заранее спасибо за любую помощь или разъяснения.
(примечание для модераторов, я начал другую ветку по этому вопросу, но это было не так ясно, и у меня еще не было обходного решения, которое я делаю сейчас, поэтому, если один из вопросов должен быть удален, пожалуйста, удалите другой)