问题标签 [update-attributes]

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 投票
2 回答
1447 浏览

ruby-on-rails - Rails 2. 通过 update_attributes 调用虚拟属性的设置器

我的表单中有一个额外的属性(:pagesize),它不在数据库中。它还有一个设置器:

我想要'update_attributes' 方法来调用该设置器。:pagesize 属性的最佳类型是什么?attr_accessor, attr_writer...

0 投票
6 回答
7543 浏览

ruby-on-rails - 如何更新/重命名carrierwave上传的文件?

我不知道如何在 rails 3.2.6 中更新/重命名使用 Carrierwave-mongoid 上传/管理的文件。我想重命名数据库和文件系统中的文件。

像这样的东西也许...

让我添加这个是在它已经上传之后。

0 投票
1 回答
236 浏览

ruby-on-rails - 如果 :type 字段在表单中,则不会在单个表继承中调用 SQL UPDATE

我有几个使用 STI 设置的模型

人 < ActiveRecod .....

男人

女士

我已经指定了一个类型字段并创建一个新记录工作正常。子类型(男人或女人)与记录一起成功保存,并且类型列中的类型是正确的。

但是,当我尝试更新/编辑记录时,它从不调用 SQL UPDATE。update_attributes 返回真。日志表明调用了 SELECT,但没有调用 UPDATE。

如果我从表单中删除类型字段。并创建它保存的新记录。但类型字段为空。但后来我可以更新记录。

有什么想法或解决方法来解决这个问题吗?

控制器代码

当我调用 new 时,它将用于子类,即

我为此准备了路线,即

当我打电话给编辑时,这是我遇到问题的地方,即

请注意,如果我在控制台中创建和编辑记录。它已创建并更新好。

0 投票
1 回答
465 浏览

ruby-on-rails - 如何为选定记录的rails中的nested_attributes创建文本字段?

我有三个模型Report , Question , Answer

回答

问题

报告

在创建新报告时,会随机选择一些问题添加到报告中并以这种方式显示表格:

报表

---部分问题_字段---

---Partial Answer_Fields--- <%= f.text_field :name, :placeholder => "在这里添加你的答案" %>

但是,当我尝试编辑/创建新报告时,它会获取该特定问题的所有现有答案。而我想实现类似的东西:

---部分问题_字段---

---部分问题_字段---

问题模型

0 投票
1 回答
571 浏览

ruby-on-rails - update_attributes 清除日期字段

我在表单中将日期作为字符串输入,并将其作为实际日期字段存储在数据库中。在对其调用 update_attributes 时,Rails 似乎在我可以访问它之前的某个时间点清除了该值 - 即使我手动设置它,它实际上并没有被设置。

桌子:

模型:

安慰:

现在,当我尝试使用 update_attributes 时,我想我可能能够修改 before_validation 回调中的值,但该值甚至在那里不可用:

为类添加回调:

关于如何处理此问题以便它与 update_attributes 一起使用的任何想法?显然,我可以编写自定义的 setter 和 getter,但这些不会被 update_attributes 调用。

更新

我尝试将列更改为“thingdate”,结果相同。

目前,我已经解决了以下问题:

无论出于何种原因,这都允许将值 - 实际上,任何看起来可能是日期的值(可能限制在 postgres 上) - 保存并存储在对象中。我不完全确定 Rails 对对象做了什么使得像这样覆盖它是必要的。任何提示将不胜感激。

0 投票
1 回答
113 浏览

ruby-on-rails-3 - 需要在控制器中的 ruby​​ on rails 中多次更新数据库的属性

出于某种原因,我需要多次运行更新数据库表。我在while循环中编写了逻辑。这样,直到达到数组长度,它才会将不同的属性值更新到数据库中。

但似乎并非如此。

仅执行最后一条更新语句。为什么?

我怎样才能相应地运行多个更新语句?

0 投票
1 回答
71 浏览

database - 如何在 Ruby on Rails 中一次更新多个记录?

我正在开发一个 Ruby on Rails 应用程序。在我的控制器中,我需要多次更新表属性。我已将此逻辑放入控制器中。

这将迭代 while 循环,直到达到标签数组大小。并且多次更新是使用表内的不同值完成的。

这应该会更新所有记录。如果数组大小为 3,则应插入 3 条记录。但它没有发生。谁能告诉我如何使用数组作为每行的区分因子插入多条记录?

0 投票
2 回答
739 浏览

ruby-on-rails - 更新会话超时轨道上的属性

我试图通过在用户登录时将“1”设置为 db 字段并在他注销时将“0”设置为在线用户列表。麻烦的是 - 如果用户刚刚离开网站,“1”仍然留在数据库中,所以我想要做的是在会话到期时更新它。

登录:

和注销:

有人可以建议我怎么做吗?

0 投票
1 回答
71 浏览

activerecord - RoR,将 select_tag 中的值放入 params 哈希中

我对更新关联的公认方式感到困惑。假设有 2 个模型,工人和工厂。编辑 Worker 时,会向用户显示包含工厂列表的 select_tag。我的问题是 factory_id 不在 params[:worker][:factory_id] 哈希中,而是在 params[:factory_id] 哈希中。最终效果是,当我的 worker.update_attributes 被调用时, factory_id 没有更新,因为它不在 :worker 哈希中。

我的问题是我是否应该尝试通过修改我的 erb 文件将我的 factory_id 放入 params[:worker] 散列,或者我应该使用在 params 中找到的值手动更新 params[:worker][:factory_id] 的值[:factory_id]。下面是我的 erb 代码,以防万一我应该在那里做一些不同的事情。此外,如果有帮助的话,Factory 类 has_many workers 和 Worker 类属于 Factory 类。

任何帮助是极大的赞赏。

0 投票
4 回答
5903 浏览

ruby-on-rails - update_attributes 未保存到数据库

提交表单后,我的调试功能中会显示正确的自定义参数,但是当我进入控制台时会显示默认参数。

控制器

模型

笔记:

  • 我能在 SO 上找到的最接近的问题是改变通过关联存在的对象的属性的问题。

  • 我尝试使用 Object.update 方法,尽管我收到一条错误消息:

    调用私有方法“更新”#

有任何想法吗?

谢谢!