Project という単純なモデルを作成しました。プロジェクトには、title、description、image_path、date_started、date_ended の 2 つのプロパティがあります。これでプロジェクトをシードしようとすると
Project.create(
title: "Project",
description: "a project",
image: "http://i.imgur.com/.png",
date_start: Time.now)
実際にはDBに保存されません。IDを割り当ててDBにレコードを保存しますが、フィールドは設定されていません。モデルに検証プレゼンスを配置して、実際にデータを取得していることを確認しましたが、エラーはスローされません。
また、コントローラーをチェックインして、変数を変更できることを確認しました
def project_params
params.require(:project).permit(:title, :description, :image_path, :date_started, :date_ended)
end
なぜこれが DB に保存されないのか完全にはわかりません。率直に言って、アイデアが不足しています。
私が使用しているデータベースは Postgres です。
編集 - 追加されたスキーマ
ActiveRecord::Schema.define(version: 20130902003818) do
create_table "projects", force: true do |t|
t.string "title"
t.text "description"
t.string "image"
t.date "date_start"
t.date "date_end"
t.datetime "created_at"
t.datetime "updated_at"
end
end
うまくいかなかった同様の質問: