调试意外的方法调用 Rails 3.1.1

发布于 2024-12-12 10:34:16 字数 501 浏览 1 评论 0原文

我正在使用 Rails 3.1.1 并将资产管道添加到我的应用程序中。

对方法的调用完成后,例如 method1。

def method1
  @locations = Location.name_like(params[:term].to_s) # returns a valid hash of values 

  respond_to do |format|
    format.json { render :json => @locations.to_json }
  end
end

正在调用另一个方法(method2)。结果我得到了一个零类错误。

我检查了我的日志,它没有显示 method2 如何或为何被调用。我还检查了是否有任何 javascript 正在调用 method2,但没有相应的 javascript。

我需要帮助来调试这种情况。

我还想知道资产管道是否导致了这个问题。

谢谢,

维沙尔

I am using Rails 3.1.1 and added asset-pipelining to my app.

After a call to a method is done, example method1.

def method1
  @locations = Location.name_like(params[:term].to_s) # returns a valid hash of values 

  respond_to do |format|
    format.json { render :json => @locations.to_json }
  end
end

another method(method2) is being called. As a result I am getting a nil class error.

I checked my logs and it does not show how or why method2 is getting being called. Also I checked if any javascript is calling method2 but there is no javascript for that.

I need help in debugging this situation.

Also I was wondering if asset-pipelining is causing this issue.

Thanks,

Vishal

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

始于初秋 2024-12-19 10:34:16

资产管道安装在 /assets 所以我认为这不太可能。

听起来好像 method1 的路由被捕获并发送给 method2。

如果包含 method1 的路由的更广泛的路由位于文件的较高位置,则可能会发生这种情况。

我将运行 rake 路线任务,并遍历路线文件,寻找与 method1 匹配的广泛路线。

The assets pipeline is mounted at /assets so I think this is unlikely.

It sounds as though the route for method1 is being captured and sent to method2.

This can happen if a broader route encompassing method1's route is higher up the file.

I would run the rake routes task, and also walk through the route file looking for broad routes the would match method1.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文