问题标签 [sinatra-activerecord]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
789 浏览

ruby - 获取 Active Record 的时间戳属性时遇到问题

所以我试图获取updated at我的数据库对象的属性,但它不起作用。我可以获得其他属性,但不能获得updated_atorcreated_at属性。我也注意到我也无法获得该id属性。似乎我没有声明的任何东西Pocket.new都不存在。这是我的代码:

顺便说一句,我没有使用导轨。我正在使用sinatra-activerecordsinatra

模型

控制器

数据库迁移

0 投票
2 回答
322 浏览

ruby - 使用带参数的范围和与 ActiveRecord (Ruby) 关联的 has_and_belongs_to_many

在我的应用程序中,我的模型定义了和Sinatra之间的 HABTM 关系。我正在尝试定义几个范围,一个用于所有与 no call 相关联的范围,一个返回所有被特定的“未读”的范围。UsersNotificationsNotificationsUsersunreadNotificationsUser

范围工作正常,unreadunread_by范围没有给我预期的结果。

我怀疑我的查询逻辑有缺陷,但我已经盯着这个太久了,我只是没有看到它。我错过了什么?

0 投票
2 回答
1320 浏览

ruby - 创建迁移以将 `admin` 字段添加到 `users` 表

如何创建迁移以使用布尔值将admin字段添加到表中并在 Sinatra 中将默认设置为 false?users我正在使用活动记录。

0 投票
1 回答
266 浏览

ruby-on-rails - Sinatra API 服务器通过 Activerecord 访问预先存在的数据库:关于验证

我正在试验很棒的 Sinatra 环境来实现一个 json API 服务器,该服务器从“遗留”数据库(一个现有的数据库,已经在生产中)访问数据。

我正在使用 sinatra-activerecord gem 来访问我的数据。就像在 Sinatra 应用程序中包含简单的 decalration 一样简单:

我也喜欢 tux(相当于 rails 控制台)来查询我的模型(表)。

现在,在通过 API 调用插入新记录的情况下,我对下面解释的两种不同场景有架构上的疑问(假设是 POST 客户端请求创建/更新记录):

场景 1. 作为(我的)Rails 项目的一部分的现有数据库,已经在生产中

假设我的生产数据库(postgresql 实例)是我自己开发的 Rails 项目的一部分,所以我的 Activerecord 模型 .rb 代码包含相当复杂的验证方法;例如,上面提到的模型exam.rb由一千行一些复杂的正则表达式验证方法组成......

在那种情况下,避免模型源代码重复(以及可能的不匹配错误)的最佳技术解决方案是什么?我必须在 Sinatra 应用程序中做一个 OS 符号链接到原始 Rails 模型exam.rb ...?

场景2.别人开发的现有DB

所以假设我可以访问数据库表,但我没有任何关于应用数据“验证”的源代码(可能是用 Java 开发的,或者由于某些原因我无法访问的任何代码......)

在那种情况下,我认为方法是在 ruby​​-activerecord 中重写验证;正确的 ?

对不起我的长帖

giorgio about.me/solyaris

0 投票
1 回答
4046 浏览

ruby - Rails 4:ActiveRecord 'all' 的替代品,因为它现在已被弃用

ActiveRecord 4.0.0 版中的 ActiveRecord 功能是否find_each可以替代?all

例如,以前我有:

这会产生一个警告,说明 ActiveRelation:all 已被弃用。

作为替代,我想出了:

这是可以接受的,还是我应该以另一种方式做?

我理解使用背后的原因find_each是因为“批处理”,如果有一个非常大的数据集,它将允许查询停止运行。对于这种情况,我们假设数据集很小。

编辑

似乎只有在您使用条件时才会出现弃用错误,例如:

产生:

弃用警告:Relation#all 已弃用。如果你想预先加载一个关系,你可以调用#load(例如 Post.where(published: true).load)。如果要从关系中获取记录数组,可以调用#to_a(例如Post.wher e(published: true).to_a)。(在 (irb):8 从 irb_binding 调用)

上面的正确替换似乎是:

0 投票
1 回答
140 浏览

ruby - 运行 Sinatra 应用程序时出错

我正在尝试使用最基本的 app.rb 运行 Sinatra 应用程序:

使用 Bundle 并创建 Gemfile.lock 后,我不断收到此错误:

我的 Rakefile 是:

我会很感激任何建议。

0 投票
4 回答
10962 浏览

ruby-on-rails - 具有多个条件的 Ruby Gem ActiveRecord 查找方法

我正在使用三个数据库的表构建一个 Sinatra 应用程序userpostlike.

我想运行一个查询,该查询将在like表中找到一个条目,如下所示:

(对于我将使用的一种情况Like.find_by_user_id(params[:user_id]):)

我的问题是:

ActiveRecord如何使用Gem运行具有多个条件的查找查询?

0 投票
2 回答
197 浏览

ruby - Ruby,以正确的顺序迭代对象数组

我有一个对象数组,每个对象都响应“订单”方法。

我可以写方法

但我不确定订单是否正确。有没有什么快速的方法可以按照每个对象的正确顺序迭代我的数组?

更新:真实案例。

我需要按照顺序在我的页面中迭代......

不工作

0 投票
1 回答
403 浏览

ruby - 如何使带有 Hstore 的 PostgreSQL 在 Sinatra 简单应用程序中工作?

我正在尝试使 hstore 在 Postgre 数据库中与 sinatra 1.4.4 和 sinatra-activerecord (1.5.0) 一起工作

我与宝石一起使用 ruby​​-1.9.3-p392

这些是我的迁移:




使用模型 engine_parameter.rb 中的这些行:

然后在控制台中我想用 hstore 创建一个对象:

然后我又试了一次:

我没有找到我的问题的答案。最接近的是这里:https ://gist.github.com/bru/3258069 ,但还不够。

我做错了什么,但找不到什么。

0 投票
1 回答
168 浏览

ruby - Sinatra ActiveRecord 模型问题

所以我正在编写我的第一个 Sinatra 应用程序,并使用 ActiveRecord 作为 ORM。

所以在我的 app.rb 中,我有一个

并创建一个迁移并在此运行 rake db:migrate

但是,当我以我的一种方法运行时

Sinatra 崩溃User.new并说没有 GET 数据。在上面。我看过教程,不知道。