首页
/ ActiveScaffold 技术文档

ActiveScaffold 技术文档

2024-12-10 01:01:48作者:殷蕙予

1. 安装指南

环境要求

  • Rails 版本 >= 5.2.0
  • Ruby 版本 >= 2.5.0

安装步骤

  1. 添加 Gem 到 Gemfile

    在项目的 Gemfile 中添加以下内容:

    gem 'active_scaffold'
    

    如果使用 Rails >= 5.1,还需要添加 jquery-rails

    gem 'jquery-rails'
    
  2. 安装依赖

    运行以下命令安装依赖:

    bundle install
    
  3. 安装 ActiveScaffold

    运行以下命令安装 ActiveScaffold:

    rails g active_scaffold:install
    
  4. 创建数据库并运行迁移

    运行以下命令创建数据库并运行迁移:

    rails db:create
    rails g active_scaffold:resource Model [attrs]
    rails db:migrate
    
  5. 启动应用

    启动 Rails 服务器并访问 localhost:3000/<plural_model> 查看效果。

2. 项目的使用说明

基本功能

ActiveScaffold 提供了快速且强大的用户界面,用于处理 Rails 应用程序中的 CRUD(创建、读取、更新、删除)操作。它还提供了搜索、分页和布局控制等额外功能。

推荐配置

ApplicationController 中调用 clear_helpers,以避免 ActiveScaffold 定义的辅助方法与其他控制器中的方法冲突:

class ApplicationController < ActionController::Base
  clear_helpers
end

线程安全

可以通过在初始化器中调用 ActiveScaffold.threadsafe! 来启用线程安全模式。需要注意的是,线程安全模式一旦启用,无法禁用。

# config/initializers/active_scaffold.rb
ActiveScaffold.threadsafe!

3. 项目 API 使用文档

自定义配置

ActiveScaffold 提供了丰富的 API 用于自定义配置。详细的 API 文档可以在项目的 Wiki 中找到。以下是一些常用的配置示例:

自定义列显示

class UsersController < ApplicationController
  active_scaffold do |config|
    config.list.columns = [:name, :email]
  end
end

自定义搜索

class UsersController < ApplicationController
  active_scaffold do |config|
    config.actions.add :search
    config.search.columns = [:name, :email]
  end
end

自定义分页

class UsersController < ApplicationController
  active_scaffold do |config|
    config.list.per_page = 25
  end
end

4. 项目安装方式

ActiveScaffold 可以通过以下几种方式安装:

通过 Gemfile 安装

Gemfile 中添加 gem 'active_scaffold',然后运行 bundle install

通过命令行安装

运行以下命令安装 ActiveScaffold:

rails g active_scaffold:install

手动安装

可以从 GitHub 下载源代码,然后手动集成到项目中。


通过以上步骤,您可以成功安装并使用 ActiveScaffold 来快速构建 Rails 应用程序的用户界面。

热门项目推荐
相关项目推荐

项目优选

收起
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
46
34
PDFMathTranslatePDFMathTranslate
PDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/Docker
Python
26
3
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
171
39
RuoYi-VueRuoYi-Vue
🎉 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统,同时提供了 Vue3 的版本
Java
164
33
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
248
63
RuoYi-Cloud-Vue3RuoYi-Cloud-Vue3
🎉 基于Spring Boot、Spring Cloud & Alibaba、Vue3 & Vite、Element Plus的分布式前后端分离微服务架构权限管理系统
Vue
22
17
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
892
0
GitCode光引计划有奖征文大赛GitCode光引计划有奖征文大赛
GitCode光引计划有奖征文大赛
16
1
RuoYi-CloudRuoYi-Cloud
🎉 基于Spring Boot、Spring Cloud & Alibaba的分布式微服务架构权限管理系统,同时提供了 Vue3 的版本
Java
25
10
advanced-javaadvanced-java
Advanced-Java是一个Java进阶教程,适合用于学习Java高级特性和编程技巧。特点:内容深入、实例丰富、适合进阶学习。
JavaScript
389
102