问题标签 [activemodel]

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

ruby-on-rails - 为自定义 attr_accessor 获取未定义的方法“validates_presence_of”

我认为问题在于这是一个自定义模型。

错误:

我的模型:

可能我需要包含或扩展一些东西来获得 Rails 验证?该项目在 Rails 项目中,但我手动构建了模型。

有任何想法吗?

0 投票
2 回答
6595 浏览

ruby-on-rails - 使用 ActiveModel 进行 Rails 验证

我一直在阅读文档以ActiveRecord使用ActiveModel. 出于某种原因,我没有看到返回任何验证结果。

我有一组模型,而不是与之交互,而是ActiveRecord通过位于 Rails 后面的自定义 API 进行交互。

该模型:

控制器:

表格:

我正在遵循此处列出的代码:Rails ActiveModel Validation

该方法正确返回到表单,因为 @apiObject.save 返回为 false,但没有返回验证响应。我检查了标记,没有返回通常的 rails 验证结果。我错过了什么?

0 投票
1 回答
325 浏览

ruby-on-rails - 在 Rails 中 - 如何让一个查询有多个查询?

这里有 3 个模型:

  • 项目
  • 线程(project_id)
  • thread_participations(thread_id,读取布尔值)

现在我有一个用户项目的列表,该列表显示每个项目有多少线程未读。这里最大的问题是,如果用户有多个项目(所有用户都这样做),它会导致数据库受到多个查询的影响,每个项目一个。

我想使用 Rails 构建一个查询,通过一个 DB 命中,返回每个用户项目的未读计数。

这是我今天在视图中使用的内容:

在线程模型中:

关于如何做到这一点的任何建议?这应该住在哪个模型中?也许是用户的模型,因为它不是项目或线程特定的?

谢谢

0 投票
2 回答
82 浏览

ruby-on-rails - 给定一个返回 [1, 1] [2, 3], [5,1] 的查询,如何使用该结果?

鉴于:

哪个输出:

如何使用该结果更新我的列表。结果集 1 和 3 中给出的是 project_ids,我如何遍历该结果以更新如下列表:

谢谢

0 投票
1 回答
251 浏览

ruby-on-rails - 建立一个具有 User_ids 字段的表,然后查询特定的 User_Id

我需要一些帮助来构建一个表,然后在 Rails 3 中从该表中获取数据。

这是分解:

模型 - 这里涉及 3 个模型,它们是:

  • 线程有很多参与者
  • 参与者属于线程
  • 用户

活动表:

示例记录如下所示:

其中参与者,是一个 user_ids 列表,如果有更好的方法来存储 user_ids,请告诉我。我还没有建造这个。

在我填充活动表之后。然后,我希望能够按照以下方式进行查询:选择参与者字段中包含 67 的参与者 ID 的所有活动记录。

我希望上面说的很清楚,如果没有,请告诉我。想法?想法?建议。

谢谢

0 投票
8 回答
63374 浏览

ruby-on-rails - 如何确定记录是刚刚在 after_save 中创建还是更新

#new_record?函数确定是否已保存记录。但这始终是错误的after_save。有没有办法确定记录是新创建的记录还是更新的旧记录?

我希望不要使用另一个回调,例如before_create在模型中设置标志或要求对数据库进行另一个查询。

任何建议表示赞赏。

编辑:需要在after_save钩子中确定它,对于我的特定用例,没有updated_atupdated_on时间戳

0 投票
3 回答
4430 浏览

ruby-on-rails - Rails - 帮助理解如何使用 :dependent => :destroy

我有以下型号:

所以这很好用,问题是这样的。当用户离开或从项目中删除时,我需要删除该项目的所有 ThreadParticipation。

例如,如果用户(15)通过删除权限(user_id => 15,project_id => 3)离开项目(3),我需要rails自动删除所有相关的ThreadParticipation记录(其中ThreadParticipation通过线程,属于project_id 3,并且 ThreadParticipation.user_id = 15。

我试过这个,但它没有做任何事情:

想法?谢谢

0 投票
2 回答
1850 浏览

ruby-on-rails - database.yml 中应该包含什么才能在没有数据库的情况下使用 rails?

我正在使用没有数据库的 rails3 并且想知道 database.yml 中应该包含什么来通过 rake 测试。现在失败了。我还没有在文件中指定任何内容。我的模型将使用 ActiveModel。

运行 rake 测试:

0 投票
1 回答
652 浏览

ruby-on-rails - 使用命名空间在 Ruby on Rails 3 中构建 ActiveModel 时遇到问题

我正在使用 Ruby on Rails 3,我正在尝试以这种方式构建 ActiveModel :

如果在我的控制器中我做这个

我收到此错误:

如果我做

的调试@new_account

错误在哪里,我该如何解决?


PS:我不想使用validate_presence_of,因为我需要不同的验证过程,但我认为该方法也行不通。


如果我使用该validate!方法,我会收到以下错误,即

0 投票
1 回答
839 浏览

ruby-on-rails - 如何使用“ActiveModel::Errors”模块将错误附加到类

我正在使用 Ruby on Rails 3,并且我正在尝试扩展一个类 Account 以“以 Rails 方式”处理错误

在我的模型中,我有

我想在上面的类中“封装”以下哈希使用ActiveModel::Errors

这样我就可以在类中插入上述错误哈希后,像这样

测试场景的调试(总是)如下,因为我不知道如何将错误附加到类。

我怎样才能做到这一点?