概要
rails6APIモードで開発をしています。
app/models以下で複数のモデルをサブディレクトリにまとめたいのですが、モデルが対応するテーブル名を使ってくれません。
Rials5.2の時はできていたと思うのですが、、、
前提
- 以下の様なファイルで
app/models/animal/dog.rb
- 以下の様にクラスを定義しています。
ruby
1class Animal::Dog < ApplicationRecord 2end
問題
rails consoleで以下の様な結果になります。
本来であればanimal_dogsを参照してほしいのですが、dogsを参照しようとしています。
bash
1 irb(main):000:0> Animal::Dog.new 2 3ActiveRecord::StatementInvalid (PG::UndefinedTable: ERROR: relation "dogs" does not exist) 4LINE 8: WHERE a.attrelid = '"dogs"'::regclass
自分で調べた事
- とりあえずディレクトリの切り方とクラス名の書き方は問題無いと思います、、クラス名をRailsが見つけれてないわけじゃないので。
- Railsガイドにも記載がありました。(例ではControllerでしたが)
その他
- self.table_name = 'hoge'でテーブル名を指定するのはできれば避けたいです、、、、
以上、お手数ですがどなたかご回答頂けると助かります。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。