我创建了一个新表(通过迁移),然后手动添加了一个模型-模型如下所示:

class UserData < ActiveRecord::Base
  belongs_to :user

  def self.save_user_data(data, cur_user)
    data.each do |d|
      puts "Saving: #{cur_user.id}, #{d['id']}, #{d['name']}"
      UserData.create!(:user_id => cur_user.id,
                       :name => d['name'])
    end
  end
end

表已正确创建。
我从/controllers/users/omniauth_callbacks_controller.rb调用此方法,如下所示:
UserData.save_user_data(@data, current_user) if @data

得到这个错误:
uninitialized constant Users::OmniauthCallbacksController::UserData

我在这个案子里缺了什么?

最佳答案

尝试在控制器类中使用::UserData而不是UserData

关于ruby-on-rails - Rails-创建新模型并出现错误“未初始化的常量”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18132524/

10-13 01:31