2016-05-30 4 views
0

を入力します。結果がNOフォームタグを持っていない、唯一の私は別のものの内側のフォームをレンダリングするんだけど、この新しいレンダリングされたフォームには、フォームタグを持っていない、唯一の入力と提出

何が問題になりますか?ここで

は私のコントローラです:

def new 
    @customer = Customer.new 
    respond_to do |format| 
     format.html 
     format.js 
    end 
    end 

はここnew.js.erbです:

$('#customer-form').show(); 
$('#customer-form').html("<%= j (render 'form_ajax') %>"); 

はここ_form_ajax.html.erbです:描画のために

<%= form_for @customer, remote: true do |f| %> 

... inputs in here ... 

    <div class="actions"> 
    <%= f.submit "ОК" %> 
    </div> 

<% end %> 

HTML要素:

<%= form_for(@customer) do |f| %> 
    .. some controls here .. 
    <div id="customer-form" style="display:none;"></div> 
    .. some inputs here .. 
    <div class="actions"> 
    <%= f.submit "ОК" %> 
    </div> 
<% end %> 
+0

'form_ajax'をレンダリングする場合、id = 'customer-form'でHTML要素を共有できますか? – Prity

+0

@PrityはHTML要素を追加しました。 – Marat

答えて

0

これはレールに関するものではなく、HTMLはあるフォームを別のフォームの内部に入れません。フォームを最初のものから置き換えることで問題を解決しました。

0

以下これにnew.js.erbでレンダリング変更してみてください -

$('#customer-form').html("<%= escape_javascript(render partial: 'form_ajax', locals: {customer: @customer}) %>"); 

は、私はそれが働いたかを知ってみましょう。ありがとう

+0

ありがとうございますが、これは機能しませんでした。 – Marat

+0

これをconsole.log( "<%= escape_javascript(部分的に 'form_ajax'、locals:{customer:@customer})%>")のファイルに置きます。ブラウザのコンソールに表示される内容を投稿してください。 – sghosh968

+0

何を入れ​​ますか?あなたが提案したようにnew.js.erbを修正しました。 – Marat

関連する問題