生成命令不是必须要做的事情。这只是一个脚本,可以帮助你自动完成一些工作。执行完生成命令后,您在控制台中看到的命令完成了什么。它看起来像这样:
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
的好处是它会自动调用所有必要的插件等来生成所有必需的文件。 这就是为什么建议使用生成命令,即使是非常复杂的模型,控制器等。 因此,在你的情况下,我建议分几步建造模型。这可能是这样的:
rails generate model Product name:string description:text
rails generate migration AddPriceToProducts price:integer
rails generate migration AddDiscountToProducts discount:integer
and so on
的每一步,你可以在回退功能,如果你做了一些错误,它可以帮助你不会伤害 你的数据库。
目前还不清楚,你想做什么? http://guides.rubyonrails.org/migrations.html,http://guides.rubyonrails.org/association_basics.html – shibly