2014-01-16 7 views
2

Я пытаюсь добавить форму на страницу показа ресурса. Форма работает просто отлично, но она будет отображаться только в том случае, если я оберну ее в объявлении panel, что приведет к панели в пределах панели.Форма ActiveAdmin на странице показа без панели

Любая идея, как получить форму для отображения, не обернув ее в panel?

Вот код, я прямо сейчас:

show do |ad| 
    ... 

    panel "Foobar" do 
     semantic_form_for [:admin, resource, resource.reactions.build], builder: ActiveAdmin::FormBuilder do |f| 
     f.inputs "New Reaction" do 
      f.input :title 
      f.input :content 
     end 
     f.actions 
     end 
    end 
end 

Спасибо!

ответ

3

Альтернативой panel будет использование div.

Корневая проблема заключается в смешивании компонентов Arbre и non-Arbre; здесь эти компоненты составляют panel и semantic_form_for. Это изменение работает, потому что последнее возвращаемое значение в блоке Arbre обернуто в text_node, когда оно является строкой. В этом случае форма выводится в виде строки, а затем обертывается как text_node в пределах div, которая отображает форму. См. Статью Element source от Arbre для получения дополнительной информации.

show do |ad| 
    div do # <- Note the div 
    semantic_form_for [:admin, resource, resource.reactions.build], builder: ActiveAdmin::FormBuilder do |f| 
     f.inputs "New Reaction" do 
     f.input :title 
     f.input :content 
     end 
     f.actions 
    end 
    end 
end 
+0

Благодарим вас за разъяснение. –

Смежные вопросы