0

formtastic または simple_form 要素を使用して定義済みの config-block を呼び出して実行するにはどうすればよいですか?

form-config を作成します (この場合は 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 でまったく同じですが、.haml の代わりに通常の .html.erb-template ではうまく機能しません。

4

1 に答える 1

0

期待したほど良くはありませんが、最初にこのソリューションを思いつきました(申し訳ありませんが、これは汚いハックです):

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

上記のコードの説明: ソース化を使用してブロック全体を解析し、フォームのコンテキストで評価しました。

私が見つけた主な問題は、ブロック入力を受け入れない、レールの form_for-helper のビルドにあります。私が間違っている?

于 2013-08-02T23:23:36.817 に答える