我是 Ruby On Rails 的初学者,正在尝试使用名称 Priorities
进行迁移
所以,这是我在迁移中使用的代码:
class Priorities < ActiveRecord::Migration
def self.up
create_table :priorities do |t|
t.column :name, :string, :null => false, :limit => 32
end
Priority.create :name => "Critical"
Priority.create :name => "Major"
Priority.create :name => "Minor"
end
def self.down
drop_table :priorities
end
end
这会导致以下错误:
NOTICE: CREATE TABLE will create implicit sequence "priorities_id_seq" for serial column "priorities.id" NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "priorities_pkey" for table "priorities" rake aborted! An error has occurred, this and all later migrations canceled: uninitialized constant Priorities::Priority
将ies
转换为y
以将复数转换为单数是否存在问题?
此外,完整的 --trace
日志位于:http://pastebin.com/w6usBSng
最佳答案
使用以下命令,我得到了相同的错误:
script/generate migration priorities
发生这种情况是因为您没有 Priority
类。您可能打算运行此命令:
script/generate model Priority name:string
这解决了问题
编辑
显然您不需要优先级
模型。在这种情况下,我不知道为什么,但您可以通过在迁移方法中使用 execute
来避免这种情况。
尝试这样的事情:
class CreatePriorities < ActiveRecord::Migration
def self.up
create_table :priorities do |t|
t.column :name, :string, :null => false, :limit => 32
end
execute "insert into priorities (name) values ('Critical');"
execute "insert into priorities (name) values ('Major');"
execute "insert into priorities (name) values ('Minor');"
end
def self.down
drop_table :priorities
end
en
日
关于ruby-on-rails - Rails 迁移中的复数到单数转换麻烦?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2756263/