我是Ruby on Rails的新手,如果我的数据库已经创建,我想创建模型和CRUD。我正在使用mysql数据库。
谢谢,
答案 0 :(得分:2)
由于您已经在db中有表,因此不需要scaffold
或generate model
命令,因为它也会生成迁移文件。
在模型文件夹下创建 user.rb 文件。
class User < ActiveRecord::Base
end
然后运行
rails g controller users
以上命令将为其创建控制器和视图。
如果你想创建新模型和CRUD那么
rails g scaffold ModelName field_name:data_type field2_name:data_type
上面的命令将生成模型,带有CRUD方法的控制器,迁移文件和视图
了解更多信息 http://www.tutorialspoint.com/ruby-on-rails/rails-scaffolding.htm
注意:我希望您通过config/database.yml
文件配置数据库连接以使用现有数据库
答案 1 :(得分:1)
您可以使用rails生成器来创建一个脚手架,它将为您创建包含所有CRUD方法和基本视图的模型,控制器,从而实现CRUD操作。
例如,假设您要创建一个包含数据库中名称,年龄和地址字段的学生模型,您将生成这样的
rails generate scaffold Student name:string age:integer address:string
这将为您生成这些文件
app/controllers/students_controller.rb # StudentsController
app/models/student.rb # Student model
app/views/student/ * # all view files for your student model
db/migrate/migrations_file_for_student.rb
您始终可以手动创建这些文件。并自己编写方法。如果有帮助,请告诉我。
<强>更新强>
如果您有现有数据库,请务必写下您已正确设置database.yml
文件,将应用程序连接到正确的数据库。
接下来创建模型,但不创建迁移文件(因此您必须手动在user.rb
内创建app/models
。)
测试其是否正常工作:打开rails console
并输入
User.all #will list all existing users in the console
看一切是否顺利。
接下来,您需要为您创建控制器和视图。您可以创建scaffold_controller
而不是controller
,这也会为您创建视图。
rails g scaffold_controller User email first_name last_name
这将为您创建所有视图,并使用CRUD方法创建users_controller
,但不会创建模型或迁移文件。
希望这有帮助,请告诉我是否还有其他内容。
答案 2 :(得分:0)