Rails 生成 Scaffolding

免责声明 :除非是非常传统的 CRUD 应用程序/测试,否则不建议使用 Scaffolding。这可能会生成 Web 应用程序中不需要的大量文件(视图/模型/控制器),从而导致头痛(糟糕:())。

要为新对象生成完全工作的 Scaffolding,包括模型,控制器,视图,资产和测试,请使用 rails g scaffold 命令。

$ rails g scaffold Widget name:string price:decimal
    invoke  active_record
    create    db/migrate/20160722171221_create_widgets.rb
    create    app/models/widget.rb
    invoke    test_unit
    create      test/models/widget_test.rb
    create      test/fixtures/widgets.yml
    invoke  resource_route
     route    resources :widgets
    invoke  scaffold_controller
    create    app/controllers/widgets_controller.rb
    invoke    erb
    create      app/views/widgets
    create      app/views/widgets/index.html.erb
    create      app/views/widgets/edit.html.erb
    create      app/views/widgets/show.html.erb
    create      app/views/widgets/new.html.erb
    create      app/views/widgets/_form.html.erb
    invoke    test_unit
    create      test/controllers/widgets_controller_test.rb
    invoke    helper
    create      app/helpers/widgets_helper.rb
    invoke    jbuilder
    create      app/views/widgets/index.json.jbuilder
    create      app/views/widgets/show.json.jbuilder
    invoke  assets
    invoke    javascript
    create      app/assets/javascripts/widgets.js
    invoke    scss
    create      app/assets/stylesheets/widgets.scss

然后你可以运行 rake db:migrate 来设置数据库表。

然后你可以访问 http:// localhost:3000 / widgets ,你会看到一个功能齐全的 CRUD Scaffolding。