11

一連の入力を表示するフォームがあります。ボタンもあり、クリックすると、既存の入力を別の入力セットに置き換えるはずの ajax リクエストを作成します。

すべての私の ajax リンクのものは正常に動作します。問題は、私が を使用していることですform_for。そのため、新しいフォーム入力を表示するには、フォーム ビルダー インスタンスが必要です。

ファイルを閲覧する

<%= simple_form_for @order do |f| %>
    <div id="info">
        <%= render 'my_first_form_fields_partial', f: f %>
    </div>
    <%= link_to 'Change inputs', change_inputs_path, remote: true %>
<% end %>

js.erb をこのようにしたいのですがf、ビューのフォームのスコープ内でのみ定義されています。

$('#info').html("<%= escape_javascript(render 'my_second_fields_partial', f: f) %>");

fどういうわけかそのパーシャルに入ることができるようにするにはどうすればよいですか?

4

2 に答える 2

20

パーシャルでfields_forを使用して、@ objectを渡すことはできますか?そうすれば、フォームビルダーを渡す必要はありませんか?

部分的:

<%= fields_for object do |f| %>
  f.text_field :field_name
<% end %>


$('#info').html("<%= escape_javascript(render 'my_second_fields_partial', object: @object) %>
于 2012-06-08T03:09:00.640 に答える