问题标签 [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.
ruby-on-rails - Rails 2. 通过 update_attributes 调用虚拟属性的设置器
我的表单中有一个额外的属性(:pagesize),它不在数据库中。它还有一个设置器:
我想要'update_attributes' 方法来调用该设置器。:pagesize 属性的最佳类型是什么?attr_accessor, attr_writer...
ruby-on-rails - 如何更新/重命名carrierwave上传的文件?
我不知道如何在 rails 3.2.6 中更新/重命名使用 Carrierwave-mongoid 上传/管理的文件。我想重命名数据库和文件系统中的文件。
像这样的东西也许...
让我添加这个是在它已经上传之后。
ruby-on-rails - 如果 :type 字段在表单中,则不会在单个表继承中调用 SQL UPDATE
我有几个使用 STI 设置的模型
人 < ActiveRecod .....
男人
女士
我已经指定了一个类型字段并创建一个新记录工作正常。子类型(男人或女人)与记录一起成功保存,并且类型列中的类型是正确的。
但是,当我尝试更新/编辑记录时,它从不调用 SQL UPDATE。update_attributes 返回真。日志表明调用了 SELECT,但没有调用 UPDATE。
如果我从表单中删除类型字段。并创建它保存的新记录。但类型字段为空。但后来我可以更新记录。
有什么想法或解决方法来解决这个问题吗?
控制器代码
当我调用 new 时,它将用于子类,即
我为此准备了路线,即
当我打电话给编辑时,这是我遇到问题的地方,即
请注意,如果我在控制台中创建和编辑记录。它已创建并更新好。
ruby-on-rails - 如何为选定记录的rails中的nested_attributes创建文本字段?
我有三个模型Report , Question , Answer
回答
问题
报告
在创建新报告时,会随机选择一些问题添加到报告中并以这种方式显示表格:
报表
---部分问题_字段---
---Partial Answer_Fields--- <%= f.text_field :name, :placeholder => "在这里添加你的答案" %>
但是,当我尝试编辑/创建新报告时,它会获取该特定问题的所有现有答案。而我想实现类似的东西:
---部分问题_字段---
---部分问题_字段---
问题模型
ruby-on-rails - update_attributes 清除日期字段
我在表单中将日期作为字符串输入,并将其作为实际日期字段存储在数据库中。在对其调用 update_attributes 时,Rails 似乎在我可以访问它之前的某个时间点清除了该值 - 即使我手动设置它,它实际上并没有被设置。
桌子:
模型:
安慰:
现在,当我尝试使用 update_attributes 时,我想我可能能够修改 before_validation 回调中的值,但该值甚至在那里不可用:
为类添加回调:
关于如何处理此问题以便它与 update_attributes 一起使用的任何想法?显然,我可以编写自定义的 setter 和 getter,但这些不会被 update_attributes 调用。
更新
我尝试将列更改为“thingdate”,结果相同。
目前,我已经解决了以下问题:
无论出于何种原因,这都允许将值 - 实际上,任何看起来可能是日期的值(可能限制在 postgres 上) - 保存并存储在对象中。我不完全确定 Rails 对对象做了什么使得像这样覆盖它是必要的。任何提示将不胜感激。
ruby-on-rails-3 - 需要在控制器中的 ruby on rails 中多次更新数据库的属性
出于某种原因,我需要多次运行更新数据库表。我在while循环中编写了逻辑。这样,直到达到数组长度,它才会将不同的属性值更新到数据库中。
但似乎并非如此。
仅执行最后一条更新语句。为什么?
我怎样才能相应地运行多个更新语句?
database - 如何在 Ruby on Rails 中一次更新多个记录?
我正在开发一个 Ruby on Rails 应用程序。在我的控制器中,我需要多次更新表属性。我已将此逻辑放入控制器中。
这将迭代 while 循环,直到达到标签数组大小。并且多次更新是使用表内的不同值完成的。
这应该会更新所有记录。如果数组大小为 3,则应插入 3 条记录。但它没有发生。谁能告诉我如何使用数组作为每行的区分因子插入多条记录?
ruby-on-rails - 更新会话超时轨道上的属性
我试图通过在用户登录时将“1”设置为 db 字段并在他注销时将“0”设置为在线用户列表。麻烦的是 - 如果用户刚刚离开网站,“1”仍然留在数据库中,所以我想要做的是在会话到期时更新它。
登录:
和注销:
有人可以建议我怎么做吗?
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 类。
任何帮助是极大的赞赏。
ruby-on-rails - update_attributes 未保存到数据库
提交表单后,我的调试功能中会显示正确的自定义参数,但是当我进入控制台时会显示默认参数。
控制器
模型
笔记:
我能在 SO 上找到的最接近的问题是改变通过关联存在的对象的属性的问题。
我尝试使用 Object.update 方法,尽管我收到一条错误消息:
调用私有方法“更新”#
有任何想法吗?
谢谢!