在模型文件夹中的子文件夹内建模

Bri*_*tul 5 ruby-on-rails

我正在使用Ruby on Rails 2.3.8,我想知道如何在子文件夹中组织模型,以便Ruby可以识别它们.

Geo*_*tte 11

据我所知,您需要命名模型以便加载它们.

使用发电机:

> ./script/generate model Customer::Address
Run Code Online (Sandbox Code Playgroud)

将创建模型 app/models/customer/address.rb

class Customer::Address

end
Run Code Online (Sandbox Code Playgroud)

它将以递归方式加载,但为了让rails找到它,它需要具有与路径对齐的命名空间.

公平警告,当你使用发电机时(至少在导轨2.3.5及更低版本中,我已经对此进行了测试).它将创建表名customer_addresses,但默认情况下模型仍会查找表名addresses.您需要将迁移数据库名称更改为地址或添加set_table_name 'customers_addresses'或类似以使两者对齐.