2017-07-14 84 views
0

我試圖在重寫的Devise資源(用戶)中使用ActiveResource類(Staff)。此時的目的僅僅是返回註冊用戶的名單,以便在註冊時選擇。OverResden Devise類中的ActiveResource NameError

控制器/用戶/ registrations_controller.rb

def new 
    @list = Staff.find() 
    super 
end 

型號/ staff.rb

require 'active_resource' 

class Staff < ActiveResource::Base 
    self.site = "http://localhost/Staff/" 
end 

我的寶石文件包括寶石 'active_resource'

當重寫的新方法獲取稱爲顯示以下錯誤;

NameError在用戶:: RegistrationsController#新初始化的不斷 用戶:: RegistrationsController ::員工

上如何能夠克服任何想法?

感謝 馬克

回答

0

在控制器你引用一個Staff類,但在模型中定義一個類EposnowStaff。嘗試將EposnowStaff重命名爲Staff

+0

更改了班級名稱後,我收到報告的錯誤。令我困惑的是爲什麼常量被報告爲User :: RegistrationsController :: Staff?這可能是問題嗎? – Mark

+0

這個錯誤報告是ruby如何在另一個常量的上下文中報告缺少常量的標準。你可以通過調用一個未定義的常量來實驗:'module Monkey;駱駝; end'。問題是ruby沒有找到Staff常量,現在應該在'app/models/staff.rb'中定義並通過rails自動加載。如果還沒有,請嘗試停止服務器,使用'bin/spring stop'停止spring,然後嘗試重新啓動服務器並查看是否可以正確加載'Staff'常量。 – Puhlze