1
嘿,我正在創建一個導軌3引擎並嘗試訪問安裝引擎的應用程序中的模型。從外部導軌引擎訪問模型
module MyEngine
class UsersController < ApplicationController
def index
@users = User.all
end
如果我調用下面,然後它給我的錯誤:
找不到表「my_engine_users」 - 它會自動尋找如果模型是發動機內部會存在命名空間的配置,但在這種情況下,它在使用引擎的應用程序中定義。
如果我打電話:: User.all而不是User.all,那麼一切工作,但它看起來有點奇怪。這是否是有效的紅寶石,還是有更好的方法來獲取對象?
不幸的是,無法工作,因爲我沒有訪問User.rb文件。這由正在實現我的rails引擎的用戶定義。 – Nick
好吧,但是現在你的'MyEngine'模塊中有一個用戶類作爲模型的某個地方,可能用於測試目的,對嗎?因爲如果調用不明確的'User',你的錯誤就不會發生。這意味着:如果您測試引擎,請在'MyEngine'模型之外創建測試用戶類,並且您應該沒問題。 –