gpt4 book ai didi

ruby-on-rails-3 - 从模型生成迁移

转载 作者:行者123 更新时间:2023-12-04 06:11:42 25 4
gpt4 key购买 nike

我是 Ruby on Rails 的初学者,并遵循以下文章:-
http://guides.rubyonrails.org/migrations.html

如果我需要生成迁移和模型,我可以使用,例如:-

$ rails generate model Product name:string description:text

这将创造:-
class CreateProducts < ActiveRecord::Migration
def change
create_table :products do |t|
t.string :name
t.text :description

t.timestamps
end
end
end

但是,如果我有一个更大的模型(有很多属性)。我不想将所有属性都放在“rails generate”命令中。我可以先手动编码模型,然后从该模型文件生成迁移吗?

抱歉问了这么愚蠢的问题。我只是想了解一下。

最佳答案

生成命令不是必须要做的事情。它只是一个脚本,可以帮助您自动化某些工作。运行 generate 命令后,您可以在控制台中看到此命令到底做了什么。它看起来像这样:

    rails generate scaffold User name:string email:string
invoke active_record
create
db/migrate/20100615004000_create_users.rb
create
app/models/user.rb
invoke
test_unit
create
test/unit/user_test.rb
create
test/fixtures/users.yml
route resources :users
invoke scaffold_controller
create
app/controllers/users_controller.rb
invoke
erb
create
app/views/users
create
app/views/users/index.html.erb
create
app/views/users/edit.html.erb
create
app/views/users/show.html.erb
create
app/views/users/new.html.erb
create
app/views/users/_form.html.erb
invoke
test_unit
create
test/functional/users_controller_test.rb
invoke
helper
create
app/helpers/users_helper.rb
invoke
test_unit
create
test/unit/helpers/users_helper_test.rb
invoke stylesheets
converted by Web2PDFConvert.com
create
public/stylesheets/scaffold.css

您实际上可以手动创建/修改所有文件。但是使用 generate 的好处是它会自动调用所有必需的插件等来生成所有必需的文件。
这就是为什么即使对于非常复杂的模型、 Controller 等也建议使用 generate 命令的原因。
因此,在您的情况下,我建议将构建模型分为几个步骤。它可能是这样的:
rails generate model Product name:string description:text
rails generate migration AddPriceToProducts price:integer
rails generate migration AddDiscountToProducts discount:integer
and so on

如果你犯了一些错误,你可以回滚每一步,它可以帮助你不伤害
你的数据库。

关于ruby-on-rails-3 - 从模型生成迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7704143/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com