{"id":19252210,"url":"https://github.com/rails-engine/specs","last_synced_at":"2026-03-02T06:02:08.808Z","repository":{"id":66281907,"uuid":"55026142","full_name":"rails-engine/specs","owner":"rails-engine","description":null,"archived":false,"fork":false,"pushed_at":"2017-02-17T05:24:54.000Z","size":8,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-11-14T06:31:49.963Z","etag":null,"topics":["rails-engine"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rails-engine.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-03-30T02:32:15.000Z","updated_at":"2020-11-15T09:25:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"eefa0ad9-7f36-425a-bffa-d7fe85352d5b","html_url":"https://github.com/rails-engine/specs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rails-engine/specs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails-engine%2Fspecs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails-engine%2Fspecs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails-engine%2Fspecs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails-engine%2Fspecs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rails-engine","download_url":"https://codeload.github.com/rails-engine/specs/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails-engine%2Fspecs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29993540,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-02T01:47:34.672Z","status":"online","status_checked_at":"2026-03-02T02:00:07.342Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["rails-engine"],"created_at":"2024-11-09T18:25:52.277Z","updated_at":"2026-03-02T06:02:08.789Z","avatar_url":"https://github.com/rails-engine.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rails Engine Group\n\n\u003cimg src=\"https://avatars3.githubusercontent.com/u/18108597\" width=\"150\" /\u003e\n\n这是一个专门编写 Rails 应用常见功能的小组，致力于为快速开发实现各种类型的 Rails Engine Gem，以便我们在做外包，起创业项目的时候，能基于已有的方案快速实现原型，同时又能有良好的可扩展性、可定制性，以便使用者在后期有更多需求的时候，还能基于目前的方案自定义来实现。\n\n### About Rails Engine\n\n\u003e Engines can be considered miniature applications that provide functionality to their host applications. A Rails application is actually just a \"supercharged\" engine, with the Rails::Application class inheriting a lot of its behavior from Rails::Engine.\n\nhttp://guides.rubyonrails.org/engines.html\n\n\n### 什么应该做？ / 不应该做什么？\n\n- 设计好数据库接口；\n- 可配置的选项，以便适应更多的项目；\n- Generator 生成默认配置信息，可选性的生成 Controller, Views, Helpers, Models 甚至 Assets\n- 完整实现的功能，不一定要非常复杂，但得是完善的；\n- 应该包含基本的 CSS 样式，以及自己的前端 JS 实现（如果确实需要的话）；\n- 支持 ActiveRecord，不要用 PostgreSQL 的特性，以便 MySQL 用户都能用；\n- 标准的 Rails Way 实现；\n- 在 View 或 CSS 里面用 Bootstrap 作为默认的前端组件, 用 jQuery，不要包含复杂的前端 Framework，比如所见即所得编辑器，这个留给用户自己实现;\n- 同上，Views 不一定要非常复杂，这些事情应该留给用户自己实现，因为往往每个项目都有不同的需求；\n\n### 可实现方向\n\n- [用户系统 - Devise](https://github.com/plataformatec/devise)\n- [OAuth 服务端 - Doorkeeper](https://github.com/doorkeeper-gem/doorkeeper)\n- [论坛系统 - Homeland](https://github.com/rails-engine/homeland)\n- [通知中心- Notifications](https://github.com/rails-engine/notifications)\n- [私信、站内信 - Innbox](https://github.com/rails-engine/innbox)\n- [评论 - Comments](https://github.com/rails-engine/comments) - 多态的方式，适合各种类型的场景\n- [喜欢、赞、收藏、好友、关注等功能 - ActionStore](https://github.com/rails-engine/action-store) - 多态的方式，适合各种类型的场景\n- [异常日志 - ExceptionTrack](https://github.com/rails-engine/exception-track) - 基于 ExceptionNotification 实现，将捕捉到的异常信息保存到数据库，并提供界面浏览。\n- 动态，Timeline\n- 相册\n- Page / CMS 用于线上发布独立页面(例如：关于、隐私)，URL 绑定 / 根目录；\n\n### 欢迎参与\n\n如果你有兴趣，可以参考 [notifications](https://github.com/rails-engine/notifications), [homeland](https://github.com/rails-engine/homeland) 的实现方式，选择一个实用的方向做一个新的库。\n\n当然，在你的项目里面使用 rails-engine 里面的库，并给我们反馈或提交改进、Bug 修复也是参与！\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frails-engine%2Fspecs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frails-engine%2Fspecs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frails-engine%2Fspecs/lists"}