注意点
ActiveHashを使用する上で個人的に沼ったところを書き起こします。
マイグレーションファイルは○○_idで記述する
db/migrate/2021********_create_items.rb
class CreateItems < ActiveRecord::Migration[6.0]
def change
create_table :items do |t|
t.string :name, null: false
t.text :info, null: false
t.integer :category_id, null: false
t.integer :status_id, null: false
t.integer :fee_status_id, null: false
t.integer :prefecture_id, null: false
t.integer :schedule_delivery_id, null: false
t.integer :price, null: false
t.references :user, null: false, foreign_key: true
t.timestamps
end
end
end
こんな感じで、idと記述します。
モデル名はマイグレーションファイルで記述した○○にする
これが個人的にめっちゃ沼ってしまった。
特に考えずに、例えばfee_status_idであればモデル名をfee.rbとかにしてました。
ちゃんとfee_status.rbでモデルを作成しましょう。
紐付け先のモデルには○○で記述する
今回はitemモデルにfee_statusモデルが紐づいているので、
app/models/item.rb
belongs_to :fee_status
と記述します。
あまり考えずに適当に名前つけてたら、変なところでハマってしまった....