3

こんにちは、アプリケーションでマルチステップ フォームを使用しました

form_for タグでパーシャルをレンダリングするためのリンクを提供しています。

私のhtmlコードは、

<div class="carousel-inner">
    <%= form_for @subscribe , :validate => true, :html=>{:id=>"main_form"} do |f| %>
    <ul class='carosel_buttons inline'>
        <li class='circle active'>
            <h2><%= link_to "1", date_path, :remote => true %></h2>
        </li>
        <li class='circle'>
            <h2><%= link_to "2", booking_path, :remote => true %></h2>
        </li>
    </ul>
  <div class="item">
    <%= render "#{@subscribe.current_step}_step", :f => f %>
  </div>
</div>

ajaxを使用してlink_toタグを使用して、「1」のクリックで部分的な日付をレンダリングしたい。

今、私が持っているコントローラー、

def date
  respond_to do |format|               
    format.js
  end
end

対応するdate.js.erbファイルを次のように持っています。

$('.item').html("<%= escape_javascript(render 'date_step', :f => f ) %>");

部分ファイルあり

<div class="field offset2" id="date">
  <%= f.label :date %><br />
  <%= f.hidden_field :start_date, :id=>"set_start_date" %>
  <%= f.hidden_field :end_date, :id=>"set_end_date" %>
  <div id='datepicker'> </div>
</div>

しかし、1をクリックすると、

ActionView::Template::Error (#<#:0x007fb87ae09748> の未定義のローカル変数またはメソッド `f'): 1: $('.item').html("<%= escape_javascript(render 'date_step', :f => f ) %>");

私のjs.erbファイルでリンクできないためだと思います:f => f ...

やり方を教えてください。

前もって感謝します。

4

1 に答える 1