Ruby on Rails:从现有数据库创建模型?

tez616oj  于 2023-10-17  发布在  Ruby
关注(0)|答案(4)|浏览(152)

我是新的Ruby on Rails,我想创建模型和CRUD,如果我的数据库已经创建。我用的是MySQL数据库。
谢谢你,

rsaldnfx

rsaldnfx1#

因为你已经在数据库中有了表,所以不需要scaffoldgenerate model命令,因为它也会生成迁移文件。
在models文件夹下简单创建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文件配置了数据库连接,以使用现有数据库

yyyllmsg

yyyllmsg2#

你可以使用rails generators来创建一个scaffold,它将为你创建模型,控制器和所有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文件,以连接你的应用程序到正确的数据库。
接下来创建模型,但不创建迁移文件(因此必须在app/models中手动创建user.rb)。
测试它是否工作:打开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,但没有模型或迁移文件。
希望这对你有帮助,让我知道如果还有什么。

wmvff8tz

wmvff8tz3#

执行以下步骤

  1. rails g模型model_name field_name 1:field_data_type field_name:field_data_type ex. rails g用户名:string电子邮件:string
  2. rails g controller controller_name ex. rails g控制器用户//在控制器中添加指定的方法并执行操作。
332nm8kg

332nm8kg4#

这是一个老问题,但这里提供的答案对我不起作用,因为我想要的一切,你可以典型的脚手架。我自己也想弄清楚,这就是我的方法。
1.首先为现有的表创建模型-一个像下面例子这样的空类就可以了:

class Person < ApplicationRecord
end

1.通过运行以下命令生成附带的控制器操作和视图:

rails generate scaffold_controller people

scaffold_controller命令是关键,它不是你在谷歌搜索的例子中看到的命令!

相关问题