Модель в подпапке в папке моделей

Я использую Ruby on Rails 2.3.8, и я хотел бы знать, как организовать модели в подпапках, таким образом, Ruby может распознать их.

5
задан Brian Roisentul 2 July 2010 в 21:45
поделиться

2 ответа

Насколько я понимаю, вам необходимо создать пространство имен для ваших моделей, чтобы они загружались.

для использования генератора:

> ./script/generate model Customer::Address

создаст модель в app / models / customer / address.rb

class Customer::Address

end

Она будет загружаться рекурсивно, но для того, чтобы rails ее нашли, она должна иметь пространство имен, совпадающее с путем.

Справедливое предупреждение о том, что когда вы используете генератор (по крайней мере, в rails 2.3.5 и ниже - это все, на чем я это тестировал). Он создаст имя таблицы как customer_addresses , но модель по-прежнему будет искать имя таблицы с адресами . Вам нужно будет либо изменить имя базы данных миграции на адреса, либо добавить set_table_name 'customers_addresses' или что-то подобное, чтобы выровнять их.

11
ответ дан 18 December 2019 в 11:52
поделиться

Rails будет загружать все модели в / app / models рекурсивно из подкаталогов (для Ruby 2.0+). Вы можете разделить их на логические подкаталоги: база данных, пользователи, клиенты и т. Д.

3
ответ дан 18 December 2019 в 11:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: