1

モデルからメソッドを呼び出し、値の配列を返すコントローラーへの ajax 呼び出しを作成しようとしています。しかし、ajaxで応答が得られません。応答データに応じてテキスト フィールドの値を設定する必要があります。

私の ajax コードは .coffee.js で書かれています。

$.ajax({
        url: '/addresses/billing_address_to_string',
        type: "POST"
        dataType: "JSON"
        success: (data) ->
          $('#billing_address_address_line1').val(data)
      }).done

私のコントローラーで:

respond_to :json, only: [:billing_address_to_string]
def billing_address_to_string
    address = Address.last.billing_address_to_string1
    respond_with address
  end

モデル メソッドは次のとおりです。

def billing_address_to_string1
    address = []
    address << [name, street, street_qualifier].reject(&:blank?)
    address << [city, state_or_region, postal_code].reject(&:blank?)
    address << [phone_number]
  end

どんな助けでも大歓迎です:)

4

1 に答える 1

1

Address.last.billing_address_to_string1文字列を返しますか? その場合は、ハッシュでラップして JSON エンコードする必要があります。

試す

 respond_with({:address => address})

次に、JSは

 $.ajax({
    url: '/addresses/billing_address_to_string',
    type: "POST"
    dataType: "JSON"
    success: (data) ->
      $('#billing_address_address_line1').val(data.address)
  })
于 2013-11-13T09:23:17.377 に答える