1

私のフォームでは、ユーザーが選択ボックスをexchange_rate変更したときにフィールドを更新しようとしています。currency

アプリケーション.js :

$("#invoice_currency").change(function() {
    $.ajax({
        url: '/invoices/get_exchange_rate',
        dataType: 'script'
    })
});

請求書_controller.rb :

def get_exchange_rate
  from = current_user.base_currency
  to = params[:currency]
  @exchange_rate = GoogleCurrency.get_exchange_rate(from, to)
end

get_exchange_rate.js.erb :

$('#invoice_exchange_rate').val('<%= @exchange_rate %>');

google_currency.rb :

module GoogleCurrency

  def self.get_exchange_rate(from, to)

    ....

  end

end

これは、何らかの理由でparams[:currency]Ajax を介して動的に評価できないため、まだ機能していません。

誰がそれがどのように行われたか教えてもらえますか?

助けてくれてありがとう。

4

1 に答える 1

2

AJAX 呼び出しはデータを渡さないためparams[:currency]、コントローラーでは nil になります。

AJAX 呼び出しにいくつかのデータを追加する必要があります。

$("#invoice_currency").change(function() {
  $.ajax({
      url: '/invoices/get_exchange_rate',
      data: { currency: $(this).val() },
      dataType: 'script'
  })
});
于 2013-09-14T12:56:35.573 に答える