2013-08-02 1 views
0

Как я могу позвонить и запустить предопределенные конфигурации-блок с formtastic или simple_form элементов: То, что я сделал до сих пор:запустить конфиг-блок внутри formtastic или simple_form

Создание форм-конфигурации (в данном случае с formtastic) :

AppmeConfig.register App do 
    form do |f| 
    f.inputs "Details" do 
     f.input :category 
     f.input :slug 
    end 
    f.action :submit 
    end 
end 

Назначение блока к шаблону:

def form &block 
    @form = block 
end 

в шаблоне я сделать следующее:

=semantic_form_for(@resource, &@form) 

Все прекрасное до сих пор и источник работает ... но он выводит только последний элемент (в данном случае кнопка действия). Можете ли вы дать мне подсказку, что случилось?

Дополнительная информация: выход точно так же для formtastic и simple_form, он не работает, а с нормальным .html.erb-шаблона вместо .haml

ответ

0

Не так хорошо, как ожидалось, но для первое, что я придумал это решение (ок к сожалению, это грязный хак):

=simple_form_for @resource do |f| 
    - @form.to_source(:strip_enclosure => true).to_s.split("\n").each do |line| 
    = eval(line) 

Объяснение кода выше: Я использовал sourcify разобрать весь блок и Eval его в контексте формы.

Основная проблема, которую я обнаружил, заключается в создании в form_for-helper рельсов, который не принимает вход блока. Я не прав?