无法从ajax创建返回id

时间:2012-12-19 23:31:21

标签: ruby-on-rails ajax activerecord

我正在学习如何使用带有rails的ajax,除了一个持久性问题之外我没有遇到太多麻烦。我有一个用户过去使用的地址下拉列表。然后我有一个“使用新地址”按钮,显示一个模态地址表单。然后我想通过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中添加id到attr_accessible,但这似乎也没有帮助。有什么东西我不见了吗?任何帮助将不胜感激。

编辑:我是个白痴。我没有意识到escape_javascript不应该用于整数,因此我将@ address.id包装在其中,导致错误。

1 个答案:

答案 0 :(得分:0)

糟糕。问题是我没有意识到escape_javascript不应该用于整数,因此我将@ address.id包装在其中,导致错误。