2010-07-02 110 views

回答

8

爲了我的理解,您需要爲模型命名空間以便加載它們。

使用發電機:

> ./script/generate model Customer::Address 

將在app/models/customer/address.rb

class Customer::Address 

end 

創建模型,可以將遞歸加載,但爲了鐵軌找到它,它需要有命名空間與路徑一致。

公平的警告,當你使用發電機(至少在軌道2.3.5和更低的是我已經測試過)。它將創建表名稱customer_addresses,但該模型默認仍會查找表名稱addresses。您將需要將遷移數據庫名稱更改爲地址,或者添加set_table_name 'customers_addresses'或類似的名稱以使兩者一致。

3

Rails會從子目錄遞歸地加載/ app/models中的所有模型(對於Ruby 2.0+)。您可以將它們拆分爲邏輯子目錄:數據庫,用戶,客戶等。

相關問題