我之前创建了仅限本地主机的 RoR 应用程序,其中模型是手动创建的,并为它们生成了脚手架,为数据创建了一个漂亮、快速、易于使用的 CRUD 界面。我在 Netbeans 中使用 SQLite 做到了这一点。
现在我有一个带有 MySQL 数据库的服务器,并希望创建一个快速的 CRUD 应用程序,它提供了一种快速简便的方法来查看数据库中的数据并提供一些选项,例如编辑/删除。由于我的数据库已经由 MySQL 指定,这似乎打开了大量的蠕虫,与我的 Netbeans 冒险在 RoR 中使用脚手架生成的 crud web 应用程序相比,这使得这变得不那么直接了。
我已经研究过转储我当前数据库的模式,db:raking 它,然后生成脚手架。这是正确的方法吗?我还阅读了有关魔术模型生成器的信息。这是将 MySQL 数据库转换为 RoR 模型格式的最佳方法吗?http://magicmodels.rubyforge.org/magic_model_generator/
我想我要问的是,对于我的数据库结构,RoR 是否适合模拟一个快速的 CRUD Web 应用程序,以便数据可以对其执行基本操作?
下面是我的 MySQL 数据库的 schema.rb。userId 和 attachmentId 上存在 FK 关系。
ActiveRecord::Schema.define(:version => 0) do
create_table "attachments", :primary_key => "attachmentId", :force => true do |t|
t.string "attachmentName", :null => false
t.string "fileType", :limit => 30, :null => false
t.binary "content", :null => false
t.string "printCode"
end
create_table "emails", :primary_key => "emailId", :force => true do |t|
t.integer "userId", :limit => 11, :null => false
t.integer "attachmentId", :limit => 11, :null => false
t.string "body", :limit => 1000
t.string "subject"
end
add_index "emails", ["attachmentId"], :name => "attachmentId", :unique => true
add_index "emails", ["userId"], :name => "userId"
create_table "printUsers", :primary_key => "userId", :force => true do |t|
t.string "email", :null => false
end
add_index "printUsers", ["email"], :name => "email", :unique => true
end