我尝试使用以下命令为Ruby SQLite3数据库播种。
SubmissionPool.create(
[ { submission_pool_id: "5769bdf9-ac24-4b4c-bc35-6062de526285", submission_pool_description: "images", created_at: Time.new , updated_at: Time.new }
])
Submission.create(
[ { submission_ID: "ff336040-d5e7-4c80-a0b8-53d2204bd027", submission_title: "TestSubmission", submission_description: "TestSubmission",
submission_file: "http://www.joomlaworks.net/images/demos/galleries/abstract/7.jpg", created_by: "00000000-0000-0000-0000-000000000000", created_at: Time.new , updated_at: Time.new }
])
它一直给我一个错误,即没有找到表提交。到目前为止,我一直使用rails generate model
命令创建模型,并且已经完成了所有工作。
我试过
现在我已经读过某个地方sqlite 3并不是表名中的复数形式。你们中的任何人都可以给我一个指向正确方向的指针。我将在下面附上我的迁移代码和模型代码。
submission.rb
class Submission < ActiveRecord::Base
end
移植
class CreateSubmissions < ActiveRecord::Migration
def change
create_table :submission, :id => false do |t|
t.uuid :submission_ID, :primary_key => true, null: false
t.string :submission_title, null: false
t.text :submission_description, null: false
t.string :submission_file, null: false
t.datetime :created_on, null: false
t.uuid :created_by, null: false
t.timestamps null: false
end
end
end
答案 0 :(得分:0)
在这里创建表submission
:
create_table :submission, :id => false do |t|
...
end
您的错误是由此名称引起的。 Rails希望Submission
模型的表格为submissions
。
您仍然可以使用此名称,但应在Submission
模型中明确声明:
class Submission < ActiveRecord::Base
self.table_name :submission
end