私は、アプリケーションのlib /ディレクトリにある小さなライブラリ、たとえばwidget_utils.rbを持っています。 (私はlib /からソースファイルを自動ロードするように設定しました)hamlビューで「認識できない型」エラーが発生しましたが、コンソールではありません
utilsには、RDF.rbに基づいたORMマッピングを行う 'spira' gemが含まれています。 widget_utils.rbファイルには、私のRDFリポジトリに基づくクラスオブジェクトがあり、Spira :: Types :: Nativeというタイプを参照しています。
WidgetUtilsには、WidgetUtils.options_for_selectのレンダリングで使用するRDFデータに基づくハッシュを返す静的メソッドがあります。
コンソールを起動すると、WidgetUtils.options_for_selectを呼び出してハッシュを完全に取得できます。
しかし、私は、サーバーを実行して、1つのウィジェットを表示/ウィジェット/ 1234または/ウィジェット/ 1234 /編集をレンダリングしようとすると、私はエラーが認識されないタイプ取得:スピラ::タイプ::ネイティブ
で私のスタックトレースの一番下はwidget_controller.rbで、ある時点でhamlファイルは "lib/widget_utils.rb"の "load"を実行していて、utilソースファイルで参照されているポイントでUnrecognizedタイプでクラッシュします。
コンソールから「lib/widget_utils.rbをロードしてください」「エラーは発生しません。タイプは正常に認識されます。
私は困惑しており、試行錯誤以外でもこの問題を解決するための戦略を策定するにはあまりにも新しくなっています。
私はSpiraライブラリとその使用に関する特定の問題に取り組んでいるのか疑問に思っていますスレッドローカル変数:https://github.com/datagraph/spira/issues/36 – Mojo
これは非常にaproposを見て始めています:https://github.com/datagraph/spira/pull/41 "Spira.types in threads 「JRubyサーブレットのスレッド管理に関連する可能性があります。 – Mojo