У меня есть модель с именем Foo
и вложенная модель с именем Foo::Type
. Я хочу создать новый Foo
с foo_type_id
из 42. Я могу позвонить Foo.new(foo_type_id: 42)
, но когда я пытаюсь вызвать #save
, я получаю ошибку Uninitialized constant Foo::FooType
. Как мне объяснить рельсам, что я имею в виду?
Моя папка модели выглядит следующим образом (дефис указывает файл):
models
- foo.rb
foo
- type.rb
Моя Foo::Type
модель пуста, а моя Foo
модель просто belongs_to :foo_type
Шаги для воспроизведения
rails new sampleapp
cd sampleapp
rails g model foo/type name:text
rails g model foo foo_type:references
rails db:migrate
rails c # The next steps should be in IRB
Foo::Type.create(name: 'Test Type')
Foo.new(foo_type_id: 1).save