ParseResource 技术文档
1. 安装指南
1.1 通过 Gemfile 安装
在你的 Gemfile
中添加以下内容:
gem "kaminari" # 可选,用于分页支持
gem "parse_resource", "~> 1.8.0"
然后运行 bundle install
来安装依赖。
1.2 通过 gem install 安装
你也可以直接使用 gem install
命令来安装:
gem install kaminari # 可选,用于分页支持
gem install parse_resource
1.3 配置 Parse.com 应用
在 Parse.com 上创建一个账户并创建一个应用。然后复制 app_id
和 master_key
到一个名为 parse_resource.yml
的文件中。如果你使用的是 Rails 应用,请将此文件放置在 config
文件夹中。
development:
app_id: 1234567890
master_key: abcdefgh
test:
app_id: 1234567890
master_key: abcdefgh
production:
app_id: 1234567890
master_key: abcdefgh
如果你将 parse_resource.yml
添加到 .gitignore
中,ParseResource 会从环境变量中查找 API 密钥。如果你使用 Heroku,可以通过以下命令设置环境变量:
heroku config:set PARSE_RESOURCE_APPLICATION_ID=1234567890
heroku config:set PARSE_RESOURCE_MASTER_KEY=abcdefgh
1.4 非 Rails 应用的配置
在非 Rails 应用中,你需要在某个地方(最好是在初始化文件中)包含以下代码:
ParseResource::Base.load!("your_app_id", "your_master_key")
2. 项目的使用说明
2.1 创建模型
你可以通过继承 ParseResource::Base
来创建一个模型:
class Post < ParseResource::Base
fields :title, :author, :body
validates_presence_of :title
end
2.2 创建、更新和删除对象
p = Post.new
# 验证
p.valid? #=> false
p.errors #=> #<ActiveModel::Errors:0xab71998 ... @messages={:title=>["can't be blank"]}>
p.title = "Introducing ParseResource" #=> "Introducing ParseResource"
p.valid? #=> true
# 设置更多属性并保存
p.author = "Alan deLevie"
p.body = "Ipso Lorem"
p.date = Time.now
p.save #=> true
# 更新
p.title = "[Update] Introducing ParseResource"
p.save #=> true
# 删除对象
p.destroy #=> true
p.title #=> nil
2.3 查询对象
posts = Post.where(:author => "Arrington")
posts.each do |post|
"#{post.title}, by #{post.author}"
end
id = "DjiH4Qffke"
p = Post.find(id) # 通过 ID 查找
# ActiveRecord 风格的查找命令
Post.find_by(:title => "Uncrunched") #=> 一个 Post 对象
Post.find_by_title("Uncrunched") #=> 一个 Post 对象
Post.find_all_by_author("Arrington") #=> 一个 Post 数组
2.4 分页支持
使用 kaminari
进行分页:
# 获取第二页结果(默认每页 25 条)
Post.page(2).where(:foo => "bar")
# 获取第二页,每页 100 条结果
Post.page(2).per(100).where(:foo => "bar")
3. 项目 API 使用文档
3.1 用户管理
由于用户在 Parse API 中是特殊的,你必须将类命名为 User
才能继承 ParseUser
。
class User < ParseUser
validates_presence_of :username
fields :name, :bio, :email
end
# 创建用户
user = User.new(:username => "adelevie")
user.password = "asecretpassword"
user.save #=> true
# 用户认证
User.authenticate("adelevie", "foooo") #=> false
User.authenticate("adelevie", "asecretpassword") #=> #<User...>
3.2 地理位置查询
class Place < ParseResource::Base
fields :location
end
place = Place.new
place.location = ParseGeoPoint.new :latitude => 34.09300844216167, :longitude => -118.3780094460731
place.save
# 查询附近的地点
Place.near(:location, [34.09300844216167, -118.3780094460731], :maxDistanceInMiles => 10).all
3.3 文件上传
@post = Post.first()
result = Post.upload(uploaded_file.tempfile, uploaded_file.original_filename, content_type: uploaded_file.content_type)
@post.thumbnail = {"name" => result["name"], "__type" => "File", "url" => result["url"]}
4. 项目安装方式
4.1 通过 Gemfile 安装
在 Gemfile
中添加以下内容:
gem "kaminari" # 可选,用于分页支持
gem "parse_resource", "~> 1.8.0"
然后运行 bundle install
。
4.2 通过 gem install 安装
你也可以直接使用 gem install
命令来安装:
gem install kaminari # 可选,用于分页支持
gem install parse_resource
4.3 配置 Parse.com 应用
在 Parse.com 上创建一个账户并创建一个应用。然后复制 app_id
和 master_key
到一个名为 parse_resource.yml
的文件中。如果你使用的是 Rails 应用,请将此文件放置在 config
文件夹中。
development:
app_id: 1234567890
master_key: abcdefgh
test:
app_id: 1234567890
master_key: abcdefgh
production:
app_id: 1234567890
master_key: abcdefgh
如果你将 parse_resource.yml
添加到 .gitignore
中,ParseResource 会从环境变量中查找 API 密钥。如果你使用 Heroku,可以通过以下命令设置环境变量:
heroku config:set PARSE_RESOURCE_APPLICATION_ID=1234567890
heroku config:set PARSE_RESOURCE_MASTER_KEY=abcdefgh
4.4 非 Rails 应用的配置
在非 Rails 应用中,你需要在某个地方(最好是在初始化文件中)包含以下代码:
ParseResource::Base.load!("your_app_id", "your_master_key")
通过以上步骤,你可以成功安装并配置 ParseResource,开始使用它来与 Parse.com 的 REST API 进行交互。
- mybatis-plusmybatis 增强工具包,简化 CRUD 操作。 文档 http://baomidou.com 低代码组件库 http://aizuda.comJava00
- open-eBackupopen-eBackup是一款开源备份软件,采用集群高扩展架构,通过应用备份通用框架、并行备份等技术,为主流数据库、虚拟化、文件系统、大数据等应用提供E2E的数据备份、恢复等能力,帮助用户实现关键数据高效保护。HTML054
- 每日精选项目🔥🔥 12.26日推荐:集成到 Windows 资源管理器中的批量文件转换器🔥🔥 每日推荐行业内最新、增长最快的项目,快速了解行业最新热门项目动态~~017
- Cangjie-Examples本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。Cangjie042
- 毕方Talon工具本工具是一个端到端的工具,用于项目的生成IR并自动进行缺陷检测。Python039
- PDFMathTranslatePDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/DockerPython03
- advanced-javaAdvanced-Java是一个Java进阶教程,适合用于学习Java高级特性和编程技巧。特点:内容深入、实例丰富、适合进阶学习。JavaScript0102
- taro开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5/React Native 等应用。 https://taro.zone/TypeScript09
- Yi-CoderYi Coder 编程模型,小而强大的编程助手HTML012
- excelizehttps://github.com/xuri/excelize Excelize 是 Go 语言编写的一个用来操作 Office Excel 文档类库,基于 ECMA-376 OOXML 技术标准。可以使用它来读取、写入 XLSX 文件,相比较其他的开源类库,Excelize 支持操作带有数据透视表、切片器、图表与图片的 Excel 并支持向 Excel 中插入图片与创建简单图表,目前是 Go 开源项目中唯一支持复杂样式 XLSX 文件的类库,可应用于各类报表平台、云计算和边缘计算系统。Go02