オーバーライドされたDeviseリソース(User)内でActiveResourceクラス(Staff)を使用しようとしています。この時点での目的は、登録時に選択する登録ユーザーのスタッフのリストを返すことです。オーバーライドされた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 ::スタッフ
これを克服することができる方法上の任意のアイデア?
おかげで マーク
クラス名を変更しましたが、報告されたエラーが発生します。なぜ私はUser :: RegistrationsController :: Staffとして定数が報告されているのですか?これは問題だろうか? – Mark
このエラー報告は、別の定数のコンテキストで定数が見つからないことをrubyがどのように報告するかの標準です。未定義の定数を呼び出すことで、これを自分で試すことができます: 'module Monkey;ラマ;終わり。問題は、RubyがStaff定数を見つけられないことです。これは 'app/models/staff.rb'で定義され、レールで自動ロードされるべきです。もしあなたがまだサーバを停止させて、 'bin/spring stop'で春を止めて、サーバを再起動し、' Staff'定数が正しくロードされるかどうか確認してください。 – Puhlze