-1

レールでajaxを使用する方法を学んでいますが、1つの永続的な問題を除いて、それほど問題はありませんでした。ユーザーが過去に使用したアドレスのドロップダウンがあります。次に、モーダルアドレスフォームを表示する[新しいアドレスを使用]ボタンがあります。次に、ajaxを介してそのフォームを送信し、ドロップダウンに新しいアドレスを追加します。

フォームの送信やアドレスの作成に問題はありませんが、何らかの理由で、コールバックで作成されたアクセスのIDにアクセスできません。コンテキストのコードは次のとおりです。

class AddressesController < ApplicationController
  respond_to :js

  def create
    @address = current_user.addresses.build(params[:address])
    @address.save
    respond_with(@address)
  end

end

これにより、create.js.erbにデータが提供されます。そのファイルでは、@address.cityまたは@address.stateにアクセスするのに問題はありませんが、@ address.idにアクセスしようとすると、ajax呼び出しで500サーバーエラーが発生し始めます。これは、address.rbのattr_accessibleにidを追加する必要があることを意味するかもしれないと思いましたが、それも役に立たなかったようです。足りないものはありますか?どんな助けでも大歓迎です。

編集:私はばかです。整数にescape_javascriptを使用すべきではないことに気づかなかったので、@ address.idをその中にラップして、エラーを引き起こしました。

4

1 に答える 1

0

おっと。問題は、escape_javascriptを整数に使用すべきではないことに気づかなかったため、@ address.idをその中にラップしていたため、エラーが発生しました。

于 2012-12-20T01:33:17.550 に答える