问题标签 [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 回答
1220 浏览

ruby-on-rails - 将友好 ID 和 i18n 与 update_attributes 一起使用会导致覆盖

使用: - Rails 3.0.3 - Friendly_id 4.0.0 Beta 11 - Windows - i18n (0.6.0, 0.5.0) 根据“gem list”

设置: 我有一个使用瑞典语和英语作为语言进行计算的多语言网站。我正在使用friendly_id 创建对seo 友好的网址。

在我的 mysql 表中,我有列“slug”、“slug_se”和“slug_en”。我不确定是否需要使用“slug”列,它与“slug_en”相同。

问题: 使用“update_attributes”时,它会用“slug”(默认为英文)覆盖“slug_se”。因此,“slug”中的值写入“slug_se”。

疑难解答: - 我在 Google 上搜索过这个问题,但在 Google 论坛 (http://groups.google.com/group/friendly_id/browse_thread/thread/154f4a5024e23418) 上只找到了一个(未答复的)论坛主题,没有得到答复。- 我试图找到 update_attributes 的替代品,我可以通过 mysql 但那真的不整洁。

问题: - 我需要使用“slug”列吗?- 是否有不尝试更新 id 的 update_attributes 替代方法?- 你能看出我在做什么导致问题的错误吗?

代码: 型号:

0 投票
0 回答
138 浏览

ruby-on-rails - Thinking sphinx updates delta index even when no fields are updated

Even when no fields specified in update attributes actually changes , thinking sphinx sets delta = 1 which results in large number of unwanted queries being fired . can we do something to let sphinx know that there was no actual update.

0 投票
1 回答
819 浏览

initialization - mongoid.update_attributes 在新的嵌入对象上失败

我尝试使用其父级的 update_attributes 创建一个新的嵌入式对象。在 mongoid 2.0.0.beta20 这工作正常,但更新到 2.3.3 后,这失败了。

要重现,您可以使用此模型结构:

然后,在 ruby​​ 控制台中运行:

这是因为嵌入对象在设置新值之前没有被初始化。这就是为什么 size 数组没有被初始化,因此仍然是 nil。使用 mongoid-2.0.0.beta20 (我从中升级),一切正常。有什么我想念的吗?新的 mongo-2.3.3 是否期望 ME 先初始化嵌入对象!?

感谢您的任何帮助|提示。

0 投票
1 回答
109 浏览

ruby-on-rails - Rails 3.1 创建操作中的奇怪 ActiveRecord 行为

使用 Rails 3.1.0

当'pmf = ...'行不存在时,我得到这条线

当存在“pmf = ...”行时,创建操作正常工作。到底是怎么回事?

0 投票
1 回答
972 浏览

ruby-on-rails - update_all 有效,但 update_attributes 无效

下面的两个代码用于更新数据库。

使用“update_attributes”属性的第一个版本不起作用

但是,下面使用“update_All”属性的代码似乎效果很好。

下面是 Emiexpression 的类代码:

我很困惑为什么会这样。

我没有在我的“Emiexperiment”模型中使用任何验证。

对此的任何提示都非常感谢。非常感谢您的帮助:)

0 投票
1 回答
3796 浏览

ruby-on-rails - 验证上下文和更新属性

如何使用 update_attributes 指定 validation_context ?

我可以使用 2 个操作(没有 update_attributes)来做到这一点:

0 投票
1 回答
498 浏览

ruby-on-rails - Rails counter_cache 的关联正在使用 update_attributes 进行更新;counter_cache 列未更新

我正在运行一个使用 counter_cache 列的 Rails 2.3.14 应用程序,类似于:

如果我直接将我的工作室分配给一个组,计数器缓存会更新得很好。

但是,如果我将 group_id 批量分配给车间,在传统的 Rails 控制器样式中,缓存不会更新。我认为这是 2.3.14 中的一个错误。

它也存在于旧版本中: http ://railsforum.com/viewtopic.php?id=34473

但是,发布者的“解决方案”引入了一个重复计算错误 - 如果您直接分配,您将获得默认的 rails updatercallback-one,但它确实适用于 update_attributes。

所以,我可以做几件事——我可以从 params 哈希中去掉 group_id 并直接分配它。或者我可以在我的 Workshop 模型上对 update_attributes 进行猴子补丁来为我执行此操作。

我想避免删除 params 哈希,因为这不直观且不自我记录,此外,任何可能调用 @workshop.update_attributes 的人都会遇到相同的错误。Monkey-patching update_attributes 似乎是最安全的,但也是完全错误的。

还有其他建议吗?

谢谢!

0 投票
1 回答
382 浏览

ruby-on-rails - 更改路线后,Ruby on Rails 出现 update_attributes 问题

红宝石 1.9.2p290

导轨 3.1.0

我从脚手架构建了我的网站,并试图改变我的路线,所以,我可以使用:gameNumber,而不是使用:id。

在我的控制器中我改变了

在我看来我改变了

我遇到的问题是当我尝试更新时,我得到一个 nil 错误。我知道问题是因为更新按钮使用的是:id 而不是:gameNumber,我只是不确定如何修复它。这是与问题相关的相关代码。

控制器

形式

如果有人可以向我指出一个可以解释问题、帮助解释问题、提供解决方案或更好的方法的链接,我将不胜感激。

谢谢。

更新:

这是错误:

TicketsController 中的 NoMethodError#update

Rails.root: C:/home/workspace/App

应用程序跟踪

app/controllers/tickets_controller.rb:65:in block in update' app/controllers/tickets_controller.rb:64:inupdate'

要求

参数:

你也想要框架跟踪和完整跟踪吗?

更新 2:

如果我将以下内容添加到我的模型中:

我收到以下错误。

票证中的 NoMethodError#edit

显示 C:/home/workspace/App/app/views/tickets/_form.html.erb 其中第 1 行提出:

提取的源代码(在第 1 行附近):

模板包含的痕迹:app/views/tickets/edit.html.erb

Rails.root: C:/home/workspace/App

应用程序跟踪:

要求

参数:

0 投票
6 回答
3023 浏览

ruby-on-rails - 即使没有更改,有没有办法防止 Rails 中的序列化属性更新?

这可能是所有新用户迟早会发现有关 Rails 的事情之一。我刚刚意识到 rails 正在使用 serialize 关键字更新所有字段,而没有检查内部是否真的发生了任何变化。在某种程度上,对于通用框架来说这是明智的做法。

但是有没有办法覆盖这种行为?如果我可以跟踪序列化字段中的值是否已更改,有没有办法防止它被推送到更新语句中?我尝试使用“update_attributes”并将散列限制为感兴趣的字段,但 rails 仍会更新所有序列化字段。

建议?

0 投票
2 回答
543 浏览

authentication - rails update_attributes

我的用户模型有

我对用户控制器的更新操作是

我的编辑视图是

问题是我只想更新模型的特定属性,而不是每次都输入密码。如果我不输入密码(和确认),我会收到验证错误)

我该如何解决这种情况?