jQuery ajax发布时出现SystemStackError(堆栈级别太深)

jQuery ajax发布时出现SystemStackError(堆栈级别太深),jquery,ruby-on-rails,ajax,ruby-on-rails-4,Jquery,Ruby On Rails,Ajax,Ruby On Rails 4,我有一个表单,当用户在文本字段中输入一些值时,我想自动填充其他字段,但它总是返回SystemStackError(堆栈级别太深)。以下是文件: routes.rb scope :places, controller: :places, as: :places do post :postcode, action: :postcode, as: :postcode end form.html.erb <form> <input type="text" class=

我有一个表单,当用户在文本字段中输入一些值时,我想自动填充其他字段,但它总是返回SystemStackError(堆栈级别太深)。以下是文件:

routes.rb

scope :places, controller: :places, as: :places do
    post :postcode, action: :postcode, as: :postcode
end
form.html.erb

<form>
    <input type="text" class="input_postcode">
    <input type="text" class="input_state">
</form>
places_controller.rb

def postcode
    place = Place.where(postcode: postcode).first
    state = place.state.name
    respond_to do |format|
        format.js { render json: { state: state } }
    end
end
我在控制台中得到以下结果:

SystemStackError (stack level too deep):
    app/controllers/places_controller.rb:4:in `postcode'
    app/controllers/places_controller.rb:4:in `postcode'
    app/controllers/places_controller.rb:4:in `postcode'
    app/controllers/places_controller.rb:4:in `postcode'
    app/controllers/places_controller.rb:4:in `postcode'
    app/controllers/places_controller.rb:4:in `postcode'
    app/controllers/places_controller.rb:4:in `postcode'
    app/controllers/places_controller.rb:4:in `postcode'
    app/controllers/places_controller.rb:4:in `postcode'
    app/controllers/places_controller.rb:4:in `postcode'
    app/controllers/places_controller.rb:4:in `postcode'
    app/controllers/places_controller.rb:4:in `postcode'
    (keeps going the infinite loop...)
places\u controller中的第4行是
place=place.where(邮政编码:postcode)。第一行


我不知道我做错了什么。希望有人能帮助我

您得到的是
SystemStackError(堆栈级别太深)
,因为您的操作名称是
postcode
,并且您的对象变量名称/方法也被命名为
postcode

  place = Place.where(postcode: postcode).first
传入
postcode
属性时出错,因为该属性与方法/操作同名


要修复此错误,请重命名操作和路由名称。

非常诚实的错误。谢谢!
  place = Place.where(postcode: postcode).first