问题标签 [ruby-datamapper]

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 回答
278 浏览

ruby-on-rails - Datamapper:为同一模型创建两个关系(具有 n 和具有 1)

我有两个模型,它们相互链接。

现在我想为用户添加一个主邮件地址。所以它可以做类似的事情

我一直在尝试在用户模型上做这样的事情,但没有任何运气。

上面的技巧允许我执行代码示例,但是当我这样做时,primary_mail_address_id 不会得到更新。

怎么做?

0 投票
1 回答
247 浏览

ruby - 如何每天将 DataMapper 集合切成一个集合?

我有一个 DataMapper::Collection 对象。它的每个条目都有一个created_at属性。我想将条目呈现到 html 表中,每天一张表(为此我使用 Sinatra)。

将所有内容渲染到一张表中是没有问题的,但我并没有让它每天都这样做。我想到了一个 DataMapper::Collection 对象数组,我将对其进行迭代并完成工作。但我不知道如何构建这样一个数组:/

有谁知道如何解决我的问题,或者有没有人有不同/更好的方法?提前致谢!

0 投票
1 回答
80 浏览

ruby - 从关联表中查询属性,使用 DataMapper 计算值

人员表

产品表

我的 SQL 查询

我无法在 Data Mapper 中复制它,这是我尝试过的(我已经正确定义了模型及其关联)

0 投票
1 回答
1631 浏览

ruby - Ruby - Datamapper - Collecting records by joining two models

I have two tables

organization_id in users table is foreign key to organizations table's id

I want to grab the user's record with joining Organization table where user's age > 25. So the result should look like

So how can I achieve this? Please note I dont want column abc and xyz in the result.

This will just give me users with age >25, but I want to grab user's org info as well. Is it possible to do it one statement? or will have to do it in multiple steps. Like collecting all user_id then pass to Organization model to with id in().. that would be ugly.

Any help will be appreciated.

0 投票
2 回答
765 浏览

ruby - 如何在 Sinatra 中序列化 DataMapper::Validations::ValidationErrors to_json?

我正在使用 Sinatra 和 DataMapper 开发一个 RESTful API。当我的模型验证失败时,我想返回 JSON 以指示哪些字段出错。DataMapper 为我的 type 模型添加了一个 'errors' 属性DataMapper::Validations::ValidationErrors。我想返回这个属性的 JSON 表示。

这是一个单文件示例(一定要喜欢 Ruby/Sinatra/DataMapper!):

在我的实际应用程序中,我正在处理 POST 或 PUT,但为了使问题易于重现,我使用 GET 以便您可以使用浏览器或浏览器。curl http://example.com:4567/person

所以,我所拥有的是person.errors,我正在寻找的 JSON 输出就像哈希产生的一样:

我需要做什么才能得到DataMapper::Validations::ValidationErrors我想要的 JSON 格式?

0 投票
0 回答
153 浏览

ruby - 奇怪的 DataMapper 问题

我有一个关联模型,当我尝试删除它返回true的记录但该记录仍然存在时,

该模型有 2 列是keys,而第三列是enum,也是一个键。

有关在 DataMapper 中更新/删除关联模型的任何提示

内部机架

0 投票
2 回答
103 浏览

ruby - 冻结 DataMapper 模型中的属性

考虑我有以下模型定义,我想要一个特定的属性,该属性从创建的那一刻起就应该保持不变

有这样的事情吗?或者可能正在使用回调?

0 投票
1 回答
778 浏览

sinatra - 如何:DataMapper 中的单表继承?

我正在学习Sinatra (1.3.2) 并选择使用DataMapper (1.2.0) 作为 ORM 和内存中的SQLite (1.3.6) DB 来启动。和
两个模型共享大多数属性,因此我考虑在 DataMapper 中为 STI(单表继承)声明一个模型。阅读文档,多亏了Types::Discriminator,这似乎是小菜一碟。BooksDownloads

我将所有常见的抽象为DownloadableResource

按照示例,我认为它就像指定需要扩展的内容一样简单:

但这给了我以下错误:

DataObjects::SyntaxError:重复列名: id (code: 1, sql state: , query: ALTER TABLE " downloadable_resources " ADD COLUMN "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, uri: sqlite3::memory:?scheme=sqlite&user= &password=&host=&port=&query=&fragment=&adapter=sqlite3&path=:memory:)

在删除 id 时产生另一个(明显的)错误:

DataMapper::IncompleteModelError: DownloadableResource 必须有一个有效的键

我通过添加include DataMapper::Resource两个Bookand来解决这个问题Download,然后Book需要一个有效的密钥,现在看起来像这样:

也一样Download,但现在的问题是:

DataObjects::SyntaxError:重复列名:id(代码:1,sql state:,查询:ALTER TABLE " books " ADD COLUMN "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,uri: sqlite3::memory:?scheme=sqlite&user= &password=&host=&port=&query=&fragment=&adapter=sqlite3&path=:memory:)

开始觉得我在绕圈子,在 DataMapper 中实现单表继承的正确方法是什么?


PS:我看过

但我仍然有这个问题。

0 投票
2 回答
434 浏览

ruby - 为什么 datamapper 不更新记录/检测脏污?

我最近想写一个简单的迁移脚本。我写:

即使更新语句返回 true,它也没有保存记录。我错过了什么?

0 投票
1 回答
785 浏览

ruby - Sinatra 上没有方法错误

设置好我的 config.ru 和 gemfile 后,我的帖子不再工作了。

首先,我必须在我的 main.rb 中有我的 DataMapper.setup,我不能在我的 irb 中运行任何 DataMapper 方法。

其次,每当我通过 POST 提交表单以将一些数据保存到我的 db Sinatra 时返回...

主文件

宝石文件

配置.ru

请注意,asdfasdf 是我在提交之前在表单输入框中输入的文本。

对于回购,以防有人想对其进行现场测试...... https://github.com/thejourneydude/morsecode