问题标签 [rails-models]

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

ruby-on-rails - 自定义模型方法,设置自动发送邮件的范围

这有几个阶段,由于我对 Rails 比较陌生,我不确定我是否以最好的方式处理这个问题。

用户关注公司,公司应用程序在特定日期打开和关闭。如果用户关注一家公司,我希望他们在以下情况下自动收到电子邮件:a) 公司申请打开,b) 公司申请关闭前一周,c) 公司申请关闭当天。

我尝试过使用命名范围。我有以下模型方法(我认为这需要一些工作)设置每个公司的范围,具体取决于日期。

示范公司.rb

我希望每天对每个公司调用一次此方法,以便每个公司都有适当的范围 - 所以我尝试使用when gem(cron)和以下代码。在每个公司上运行上述模型方法。

时间表.rb

然后对于每个范围的打开、警告、关闭,我在无论何时调度文件中都有一个方法,为简单起见,我将只显示打开方法。以下查询已应用开放范围的所有公司,并对其运行 application_open_notification 方法。

时间表.rb

这会在 Firm.rb 模型中调用以下方法

这反过来又调用了拼图的最后一块......它应该向用户发送一封电子邮件,其中包括公司的名称。

这是解决这个问题的可行方法吗?特别是我对模型中的编码不是很熟悉。

非常感谢您提供的任何帮助。

0 投票
1 回答
262 浏览

ruby-on-rails - 在 ruby​​ on rails 中一次更新 2 个具有相同属性的模型

我的 store_opening_stock 表格中有这个

我有 2 个模型,一个是 store_opening_stock.rb 和 stock.rb

有没有一种方法可以在我单击 store_opening_stock 表单中的提交后立即将 PRICE、PRODUCT_ID、QUANTITY、BATCH-NO 从 store_opening_stocks 更新为库存????当我在 Ruby on rails 中按下提交时,我可以一次更新 2 个表吗????提前致谢

0 投票
2 回答
296 浏览

ruby-on-rails-3 - 从方法的值设置属性

我确定我只是做错了,有人可以指出我正确的方向吗?

我需要将 Effective_date 的值设置为修改后的格式日期

effective_date是请求的一个属性

Request.create(format_date: "04/21/2012")没有将值设置为 effect_date

编辑:我想这没有意义,所以我会尝试更好地解释它:

我需要从 format_date (不是数据库中的列)设置有效日期(数据库中的列)的值。我正在使用 format_date 方法从 format_date 转换日期并将其存储到有效日期。如果这还不够信息,请告诉我。我不确定还要添加什么。

0 投票
1 回答
313 浏览

ruby-on-rails - Rails + model.rb 问题——rails 控制台错误消息——“对象不支持#inspect”

EDIT3:也就是说,不要将迁移代码放在你的 model.rb 文件中!!!

EDIT2:问题(?):任何迁移代码都属于 model.rb 文件吗?

编辑:只要提到我需要分享的额外(系统/配置/等)信息,以便从某人(即使不是你)那里得到这个问题的一个很好的答案,将不胜感激。(1-ups 以获得关于堆栈溢出优化策略的好技巧)

首先,这是命令提示符活动:

基本模式是我们这里有两个模型,page.rb 和 subject.rb。如您所见,主题是页面的父级。这是两个模型。

查看此代码的指南:我认为这两个模型中与此问题相关的所有内容都是 has_many 和 belongs_to 标签。我承认,我觉得这里应该有一些外键。这里应该有外键吗?或者这也是错误的?

主题.rb

页面.rb

我真的很陌生,所以如果我没有给你一些你需要的信息,请原谅我。请告知您需要哪些额外信息,我不确定错误来自何处,但我知道这是模型(M....VC)问题。那个95%。

0 投票
3 回答
2584 浏览

mysql - 将大型数据集加载到 Rails 应用程序中

我正在处理要作为模型加载到 Rails 应用程序中的数百万行数据。我使用 MySQL 作为数据库,我在 Rails 2.3.14 上。

我的一位同事说,绕过 Rails ActiveRecord 系统直接向 MySQL 添加记录是不可取的。他没有具体说明,但要点是当您使用它的 ActiveRecord 系统时,Rails 做了很多“魔术”,如果您在该系统之外输入数据,它会混淆 Rails。有人可以详细说明这是否准确吗?

如果我应该通过 ActiveRecord 将数据加载到 Rails 中,我已经读到activerecord-import插件是完成这类工作的方法。

欢迎任何关于将大量数据加载到 Rails 中的最佳方法的反馈。

0 投票
1 回答
71 浏览

ruby-on-rails-3 - Rails 3: Pass options to model method

This is my Model (Subscription) Method:

I am trying to call to this method in this fashion:

For some reason the elseis being evaluated.

0 投票
1 回答
72 浏览

ruby-on-rails-3 - Rails 一对多关联不返回记录

我是 Rails 新手,和许多人一样,我似乎在弄清楚 ActiveRecord 和关联如何工作时遇到了挑战。

我有三个模型,用户,项目和任务:

Projects 和 Tasks 都有字段user_id。任务有领域project_id

我希望能够通过用户查找所有项目和任务。但是,每次尝试时,即使有项目和任务,我也会得到一个空白数组:

当我通过项目查询任务时,它确实有效:

我相信has_manybelongs_to设置是正确的,因为我有其他模型连接到用户并且它们可以正常工作。有什么我想念的想法吗?

0 投票
1 回答
293 浏览

ruby-on-rails - 根据 ActiveRecord 结果在 Ruby 中创建多维散列

我是 Rails 新手,在用 ActiveRecord 搞清楚一些事情时遇到了麻烦。

现在,我有三个模型:

我正在尝试创建一个返回属于特定标签的任务的哈希,以便:

我不太确定如何创建它。我的第一个倾向是在其中一个类中创建一个方法(我已经在哪个类上来回走动......现在,我认为它最好在“标签”下提供)循环通过与给定标签匹配的项目, 查询匹配两者的任务并将它们附加到数组中。

迄今为止,这还没有奏效。我完全被难住了。

关于我如何做到这一点的任何想法?一种方法是合适的方法,还是在 ActiveRecord 中有一个技巧来创建一个至少可以让我接近这个的查询?

0 投票
4 回答
2771 浏览

ruby-on-rails - 如何在模型和表单构建器中使用外键?

我有两个模型:User如下Location

您可以看到我为模型使用了自定义的 foreign_key。我使用表单生成器来构建用户注册表单,但是当我提交数据时出现错误:

simple_form用来构建表单,相关代码是:

我该如何解决这个问题?location_id或者我必须像关联一样使用默认的 foreign_key吗?

谢谢。

更新:

当我将模型中的location字段重命名为并删除这样的:Userloc_id:foreign_key

它工作正常。但我仍然想知道如何关联UserLocation模型。

PS我使用Location模型来存储国家代码和国家名称,永远不会更新User

0 投票
1 回答
8996 浏览

ruby-on-rails - 在 Rails 中,使用 check_box_tag,如何在提交查询后保持复选框处于选中状态?

好的,我知道这是针对 Saas 课程的,人们也一直在问与此相关的问题,但我花了很多时间尝试和阅读,但我被困住了。首先,当您有一个名为 Movie 的模型时,最好使用 Ratings 作为模型并将它们关联起来,还是将 Ratings 保留在一个浮动在空间中的数组中(!)。其次,这是我现在在控制器中的内容:

现在,我决定创建一个 Ratings 模型,因为我认为它会更好。这是我的看法:

我尝试了与在以“ .include?(rating) ? true : "" 结尾的复选框标记中使用条件三元相关的所有内容,我只需要指导。提前谢谢!

更新(控制器的方法):

这是我的控制器中读取此哈希的索引方法 - 为清楚起见。我为之前的模糊性道歉。