3

簡単に言うと、各タブには独自のフォームがあるため、単一のレイアウトを作成し、フォーム自体をレイアウトの可変コンテンツとして使用することにしました。

ただし、レイアウトには他の一般的なフォーム要素があるため、各フォームにform_forを含めるのではなく、 form_forをレイアウトに含める必要があります。

では、フォームビルダーの参照fをテンプレートに渡すにはどうすればよいですか?

レイアウトコード:

<% content_for(:content) do %>
  <%= form_for current_form do |f| %>
    <%= yield %>
    <%= f.submit "Submit" %>
  <% end %>
<% end %>

出来ますか ?

PSこれを見つけました:ヘルパーを乾燥させます:form_forをラップし、ローカルフォーム変数にアクセスします(@rubishの回答)が、<%= yield f %>機能していないようですが、fはまだビューに対して未定義のままです。

4

2 に答える 2

1

タブに共通のテンプレート (レイアウトではない) を作成し、各タブのコンテンツには部分的なテンプレートを使用しませんか?

次に、次のようなことができます。

<%= render :partial => @tab_name, :locals => {:form => f} %>
于 2012-09-26T10:42:11.817 に答える