【问题标题】:Getting NoMethodError - undefined method even though the method doesn't exist获取 NoMethodError - 未定义的方法,即使该方法不存在
【发布时间】:2021-10-13 13:56:44
【问题描述】:

我有一个 Sinatra 应用程序,当我访问一个 url 时,它试图以某种方式从以前的代码中检索数据。例如,以前用户控制器有一些代码来检索用户,目前我已经删除了所有内容。它仍然给出以下错误:

NoMethodError at /testers/v1/users
undefined method `default_user_id'

我什至从模型、架构、迁移中删除了“default_user_id”,并且没有出现在 Postgres 的表中。

schema.rb:

create_table "users", force: :cascade do |t|
    t.string "code", limit: 10, null: false
    t.datetime "created_at", precision: 6, null: false
    t.datetime "updated_at", precision: 6, null: false
end

控制器:

module Testers
  module V1
    class UsersController
      get '/' do
        success(200, 'result')
      end
    end
  end
end

【问题讨论】:

  • 那么该方法是在视图还是控制器中调用?可以分享一下视图代码和控制器代码吗?
  • @RockwellRice 抱歉,上面的共享代码是模式和容器。它没有视图,它只是一个 API
  • 哦,我猜v1 可能是一个提示,我假设您刚刚在目录范围内搜索了该方法以查看它可能存在的位置?
  • @RockwellRice 奇怪的是,它似乎不在 repo 的任何地方。
  • 所以您确定更改已部署,或者您正在使用的任何 ENV,您确定更新的代码是活动的?

标签: ruby-on-rails sinatra


【解决方案1】:

重置数据库后好像可以了db:reset

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-24
    • 2015-05-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多