Backbone on Rails 技术文档
1. 安装指南
1.1 安装依赖
首先,确保你的系统已经安装了 Ruby 和 Rails。然后,在项目的 Gemfile 中添加以下内容:
gem 'backbone-on-rails'
接着,运行以下命令来安装依赖:
bundle install
1.2 生成项目结构
安装完成后,运行以下命令来生成 Backbone.js 的基本项目结构:
rails generate backbone:install
此命令会在 app/assets/javascripts 目录下生成一个基本的 Backbone.js 应用结构。
1.3 重启服务器
安装完成后,记得重启 Rails 服务器以确保所有更改生效。
2. 项目的使用说明
2.1 生成脚手架
你可以使用以下命令来生成一个 Backbone.js 的脚手架:
rails generate backbone:scaffold NAME
其中,NAME 是你想要创建的模型名称。例如,如果你想创建一个名为 planet 的模型,可以运行:
rails generate backbone:scaffold planet
此命令会生成以下文件结构:
app/assets/
├── javascripts
│ ├── application.js
│ ├── space_app.js.coffee
│ ├── collections
│ │ └── planets.js.coffee
│ ├── models
│ │ └── planet.js.coffee
│ ├── routers
│ │ └── planets_router.js.coffee
│ └── views
│ └── planets
│ └── planets_index.js.coffee
└── templates
└── planets
└── index.jst.eco
2.2 自定义生成选项
你可以通过以下选项来自定义生成的内容:
- 自定义清单文件:使用
--manifest选项指定清单文件名称。 - 生成 JavaScript:使用
--javascript选项生成 JavaScript 文件而不是 CoffeeScript。 - 自定义应用名称:使用
--app选项指定自定义应用名称。 - 自定义目录结构:使用
--dir选项指定生成的代码所在的子目录。 - 使用 Handlebars 模板:使用
--template=hbs选项生成 Handlebars 模板文件。 - 自定义模板命名空间:使用
--template_namespace选项指定模板命名空间。
例如:
rails generate backbone:scaffold planet --javascript --app=CustomApp --dir=custom_app --template=hbs --template_namespace=SHT
2.3 删除生成的文件
如果你想删除通过脚手架生成的文件,可以使用以下命令:
rails destroy backbone:scaffold planet
3. 项目 API 使用文档
3.1 模型 (Model)
生成的模型文件位于 app/assets/javascripts/models 目录下。你可以在此文件中定义模型的属性和方法。
例如,planet.js.coffee 文件可能如下所示:
class CustomApp.Models.Planet extends Backbone.Model
defaults:
name: ""
distance: 0
3.2 集合 (Collection)
生成的集合文件位于 app/assets/javascripts/collections 目录下。你可以在此文件中定义集合的 URL 和其他属性。
例如,planets.js.coffee 文件可能如下所示:
class CustomApp.Collections.Planets extends Backbone.Collection
model: CustomApp.Models.Planet
url: '/planets'
3.3 视图 (View)
生成的视图文件位于 app/assets/javascripts/views 目录下。你可以在此文件中定义视图的渲染逻辑。
例如,planets_index.js.coffee 文件可能如下所示:
class CustomApp.Views.PlanetsIndex extends Backbone.View
template: JST['planets/index']
render: ->
@$el.html(@template(planets: @collection.toJSON()))
this
3.4 路由器 (Router)
生成的路由器文件位于 app/assets/javascripts/routers 目录下。你可以在此文件中定义路由和对应的动作。
例如,planets_router.js.coffee 文件可能如下所示:
class CustomApp.Routers.Planets extends Backbone.Router
routes:
"": "index"
index: ->
@collection = new CustomApp.Collections.Planets()
view = new CustomApp.Views.PlanetsIndex(collection: @collection)
$('#container').html(view.render().el)
4. 项目安装方式
4.1 通过 Gemfile 安装
在 Gemfile 中添加 backbone-on-rails gem,然后运行 bundle install 来安装。
4.2 生成项目结构
安装完成后,运行 rails generate backbone:install 来生成项目的基本结构。
4.3 生成脚手架
使用 rails generate backbone:scaffold NAME 来生成 Backbone.js 的脚手架。
4.4 自定义生成选项
你可以通过 --manifest、--javascript、--app、--dir、--template 和 --template_namespace 等选项来自定义生成的内容。
4.5 删除生成的文件
使用 rails destroy backbone:scaffold NAME 来删除通过脚手架生成的文件。
通过以上步骤,你可以轻松地在 Rails 项目中使用 Backbone.js,并根据需要自定义生成的内容。希望这篇文档能帮助你更好地理解和使用 backbone-on-rails 项目。
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
atomcodeAn open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust015
MiniMax-M2.7MiniMax-M2.7 是我们首个深度参与自身进化过程的模型。M2.7 具备构建复杂智能体应用框架的能力,能够借助智能体团队、复杂技能以及动态工具搜索,完成高度精细的生产力任务。Python00- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
HY-Embodied-0.5这是一套专为现实世界具身智能打造的基础模型。该系列模型采用创新的混合Transformer(Mixture-of-Transformers, MoT) 架构,通过潜在令牌实现模态特异性计算,显著提升了细粒度感知能力。Jinja00
LongCat-AudioDiT-1BLongCat-AudioDiT 是一款基于扩散模型的文本转语音(TTS)模型,代表了当前该领域的最高水平(SOTA),它直接在波形潜空间中进行操作。00
ERNIE-ImageERNIE-Image 是由百度 ERNIE-Image 团队开发的开源文本到图像生成模型。它基于单流扩散 Transformer(DiT)构建,并配备了轻量级的提示增强器,可将用户的简短输入扩展为更丰富的结构化描述。凭借仅 80 亿的 DiT 参数,它在开源文本到图像模型中达到了最先进的性能。该模型的设计不仅追求强大的视觉质量,还注重实际生成场景中的可控性,在这些场景中,准确的内容呈现与美观同等重要。特别是,ERNIE-Image 在复杂指令遵循、文本渲染和结构化图像生成方面表现出色,使其非常适合商业海报、漫画、多格布局以及其他需要兼具视觉质量和精确控制的内容创作任务。它还支持广泛的视觉风格,包括写实摄影、设计导向图像以及更多风格化的美学输出。Jinja00