`

rails 4 自定义脚手架配置

阅读更多

一.建立rails 4 项目

rails -v # => 4.1.7
rails new customgenerator --skip-bundle
# edit the gem source in Gemfile
cd customgenerator
bundle install
rails s
# visit http://127.0.0.1:3000/

 

二.添加脚手架配置

# in application.rb

config.generators do |g|
  g.orm             :active_record
  g.template_engine :erb
  # g.test_framework  :test_unit, fixture: false
  g.test_framework  nil
  g.stylesheets     false
  g.javascripts     false
  g.jbuilder        false
  g.helper          false
end

 

根据需求自己配置,我的这样就干净多了.

然后下载rails 4.1.7,解压.

在lib文件夹下建立templates/erb/scaffold文件夹

# https://github.com/rails/rails/tree/master/railties/lib/rails/generators/erb/scaffold/templates
# copy the five *.html.erb file to lib/templates/erb/scaffold/
# note: 不要后面的templates

 

三.使用

rails g scaffold User name:string pass:string salt:string

 

# the result
      invoke  active_record
      create    db/migrate/20141104024358_create_users.rb
      create    app/models/user.rb
      invoke  resource_route
       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  assets
      invoke    coffee
      invoke    scss

 

四.按照你的需要修改者五个文件

rails g scaffold Customuser name:string pass:string salt:string

# the result
      invoke  active_record
      create    db/migrate/20141104024557_create_customusers.rb
      create    app/models/customuser.rb
      invoke  resource_route
       route    resources :customusers
      invoke  scaffold_controller
      create    app/controllers/customusers_controller.rb
      invoke    erb
      create      app/views/customusers
      create      app/views/customusers/index.html.erb
      create      app/views/customusers/edit.html.erb
      create      app/views/customusers/show.html.erb
      create      app/views/customusers/new.html.erb
      create      app/views/customusers/_form.html.erb
      invoke  assets
      invoke    coffee
      invoke    scss


# 我修改了 index.html.erb <h1>这是我自定义的模板</h1>
<h1>这是我自定义的模板</h1>

<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>Pass</th>
      <th>Salt</th>
      <th colspan="3"></th>
    </tr>
  </thead>

  <tbody>
    <% @customusers.each do |customuser| %>
      <tr>
        <td><%= customuser.name %></td>
        <td><%= customuser.pass %></td>
        <td><%= customuser.salt %></td>
        <td><%= link_to 'Show', customuser %></td>
        <td><%= link_to 'Edit', edit_customuser_path(customuser) %></td>
        <td><%= link_to 'Destroy', customuser, method: :delete, data: { confirm: 'Are you sure?' } %></td>
      </tr>
    <% end %>
  </tbody>
</table>

<br>

<%= link_to 'New Customuser', new_customuser_path %>

 

成功!!!

 

项目源代码: https://github.com/FlowerWrong/customgenerator

分享到:
评论

相关推荐

    Rails项目源代码

    框架提供了丰富的内置功能,如路由、ORM(对象关系映射)、数据库迁移和强大的脚手架工具,帮助快速开发应用程序。 2. **MVC架构**: MVC模式将应用程序分为三个主要部分:模型(Model)处理数据逻辑,视图(View...

    11-脚手架方案-708.zip

    2. **自定义脚手架**:"708.doc"可能详细介绍了如何为特定项目需求创建自定义脚手架。这可能涉及到编写脚手架脚本,选择和配置所需依赖,以及设置默认配置文件。 3. **项目初始化**:脚手架在项目初始化阶段起着...

    让脚手架直接生成Haml模板

    4. **使用插件**:有些Rails插件,如`haml-rails`,可以帮助简化上述过程。安装后,它会自动配置Rails以使用Haml,并可能提供额外的便利功能。 5. **运行脚手架**:现在,当你运行`rails generate scaffold ...

    脚手架方案-开阳里.zip

    4. **命令行接口**:脚手架通常通过命令行工具运行,比如`create-react-app`或`rails new`。这些命令会根据预设规则生成项目文件,并进行必要的配置。 5. **集成开发环境(IDE)支持**:为了提高开发效率,脚手架...

    Rails_Recipes_with_Source_Code

    7. **脚手架(Scaffolding)**:Rails提供快速生成基本CRUD界面的命令,书中可能会讲解如何自定义和使用脚手架。 8. **Gem依赖管理**:Ruby的Gemfile允许开发者方便地管理和引用外部库,书中可能涉及Gem的安装、...

    rails-chm-2-0-2.rar

    7. **Scaffolding**:Rails的脚手架(scaffolding)工具可以快速生成基本的CRUD(Create, Read, Update, Delete)操作的模型、视图和控制器代码,帮助开发者快速搭建原型。 8. **AJAX**:Rails提供了内置的...

    web敏捷开发rails笔记

    Rails通过约定优于配置的原则,使得开发者能够快速地搭建Web应用程序。 **开发环境配置**: - **操作系统**: Windows XP - **Ruby版本**: 1.8.6 - 下载地址: `ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6....

    SitePoint[1].Simply.Rails.2.2nd.Edition.May.2008.pdf

    4. **Rails框架揭秘**:解析Rails的工作原理,包括路由机制、控制器、模型和视图的概念及其相互作用,以及如何利用Rails构建动态网站。 5. **模型、视图和控制器(MVC)**:深入探讨MVC设计模式在Rails中的实现,...

    inspinia admin - v2.5 Rails_Seed_Project

    4. **集成的Gem包**:Rails_Seed_Project整合了如Devise(用户认证)、CanCanCan(权限控制)等常用Rails插件,帮助开发者实现复杂的功能模块。 5. **脚手架生成器**:项目可能还包括了一些脚手架(Scaffold)生成...

    rails2

    - **Rails** 的设计理念强调“约定优于配置”(Convention Over Configuration, CoC),这使得开发者可以快速构建功能完善的 Web 应用而无需进行大量的初始配置工作。 - **Rails** 支持敏捷开发方法论,并且内置了大量...

    grails脚手架2次优化

    4. **自定义服务**:在服务层实现复杂的业务逻辑,供控制器调用,提高代码可重用性。 5. **事件驱动编程**:利用Grails的事件系统,如`beforeSave`、`afterUpdate`等,处理操作前后的业务逻辑。 6. **国际化**:...

    curso-rails-feevale:Feevale 的 Ruby on Rails 课程

    #Feevale 的 Ruby on Rails 课程##Ruby历史安装语言(面向对象、块、模块和语法) 宝石交互式控制台 (irb) 元编程##Rails - 概述目前网络开发配置约定MVC ##Rails - 模型(ActiveRecord + ActiveModel) 迁移验证...

    gunzel:深入了解下一个Rails项目的设置时间

    好东西Rails 4.2 使用 , , 和自定义视图脚手架模板使用“和“自定义模型和控制器支架模板,和在部署的和预配置加载更多...用法Gunzel作为定制的生成的Rails应用程序框架分发(不是作为,这很好,但是将这么多的...

    rail on ruby

    - **Scaffold**: Rails 提供的脚手架功能,快速生成 CRUD(Create, Read, Update, Delete)功能的基本代码。 - **REST 架构**: - 是一种软件架构风格,用来指导客户端与服务器之间的交互。 - 在 Rails 中,每个...

    ll-myship-generator:Rails实践应用

    `ll-myship-generator`是一个自定义的Rails生成器,它的目的是简化新项目初始化的过程,通过自定义模板和脚手架,能够快速构建出符合特定需求的应用结构。在Rails中,生成器是一种强大的工具,它们可以自动创建模型...

    Grails基础教程

    - **自定义脚手架模块**:提供了创建自定义用户界面生成器的方法。 **6.2 Groovy动态查找器查询和按例查询** - **动态查找器**:Groovy动态查找器提供了一种简洁的方式来查询数据库,简化了SQL语句的编写。 - **...

    app_kit:用于数据驱动应用程序的 Rails 引擎

    通过阅读和研究这些文件,你可以深入理解其内部工作原理,自定义它以适应你的项目需求,或者从中获取灵感,为自己的Rails应用开发新的工具和功能。 总结起来,AppKit是一个强大的Rails引擎,它优化了数据驱动应用的...

    SubSonic 用户手册

    它受到了 Ruby on Rails 的启发,采取了极简主义的编码方式,并强调约定优于配置的原则。尽管 SubSonic 受到了 Ruby on Rails 的启发,但它并不是 Ruby on Rails 的直接移植版本(如果需要 Rails 的 .NET 版本,请...

    cakephp手册单页完整版

    3. **自定义配置**:可以通过创建新的配置文件来满足项目需求。 #### 三、Scaffolding脚手架 CakePHP提供了一个强大的脚手架工具,可以帮助开发者快速生成CRUD(创建、读取、更新、删除)界面。 1. **使用方法**...

    jiak

    4. `lib/` - 自定义库和扩展代码通常存放在这里。 5. `bin/` - 包含可执行文件,如Rails服务器(rails)和打包脚本(bundle)。 6. `public/` - 静态资源(如CSS、JavaScript、图片)的存放位置,可以直接被浏览器...

Global site tag (gtag.js) - Google Analytics