草庐IT

last_updated_time

全部标签

ruby-on-rails - 注销前更新 current_user 时收到 "Attempted to update a stale object: User"异常

我在我的用户模型上启用了乐观锁定,以处理我代码库各个部分中可能发生的冲突。但是,我遇到了意外冲突,我不知道如何处理它,因为我不知道是什么原因造成的。我正在使用Devisegem进行身份验证,并且正在使用before_logout方法来重置安全token...classSessionsController:createbefore_filter:before_logout,:only=>:destroydefafter_login#logictosetthesecuritytokenenddefbefore_logoutcurrent_user.update(security_token

ruby - Sudo gem update --dry-run?

有没有办法让RubyGems判断是否有可用的更新?我发现自己一直在运行sudogemupdate——通常每天运行几次。如果我可以使用--dry-run之类的标志运行该命令,那么我可以评估更改的gem是否对添加很重要(并且仅当我对当前项目的测试为绿色时才运行它。有什么建议吗? 最佳答案 尝试:gemoutdated它将显示所有需要更新的gem(列出您的当前版本和最新版本)。 关于ruby-Sudogemupdate--dry-run?,我们在StackOverflow上找到一个类似的问题:

ruby-on-rails - 在 Devise 中,last_sign_in_at 的用途是什么?

Devise中的标准用户列是last_sign_in_at,当current_sign_in_at更新时,它保存current_sign_in_at的先前值。last_sign_in_at是否对Devise的核心功能或模块功能有任何实用性,还是只是为了方便起见? 最佳答案 last_sign_in_at是用户在当前session之前登录的日期和时间,即current_sign_in_at。如果他们还没有登录或者这是他们的第一次session,它将是nil。更好的名称可能是previous_sign_in_at,因为这不是他们上次(当

ruby-on-rails - Rails 控制台 : Run a Ruby file several times

Rails提供了一个非常有用的控制台('script/console')。我编写了一个ruby​​文件并使用requirefoo.rb在控制台中运行它。第一次工作正常,但第二次和下一次requirefoo.rb没有运行我的脚本(require没有重新加载它)。你有什么提示/技巧吗? 最佳答案 require用于加载扩展-因此代码将执行一次,以使扩展出现在您的环境中,但随后的require不会做任何事情,因为工作已经完成完成。load,另一方面,每次加载并执行代码。如前所述,如果你只是想运行你的脚本并且你需要Rails环境,那么可以考

sql - 在 Rails 中使用连接执行 update_all

在这种情况下,Rails对原始SQL的抽象让我抓狂。在MySQL中我可以这样做:UPDATEFROMtasksAStLEFTJOINprojectsaspONt.project_id=p.idSETt.invoice_id=7WHEREp.organization_id==42ANDt.invoice_idISNULL我如何在Rails3.0.1中使用预先加载来做到这一点?我已经尝试了以下所有方法:Tasks.joins(:project).where('projects.organization_id'=>42,:invoice_id=>nil).update_all(:invoic

ruby-on-rails - 在 after_update 回调中获取更改的属性

我正在尝试进行有条件的after_update,我有以下内容:after_updatedo|participant|Rails.logger.info"#{self.previous_changes}changed."ifself.previous_changes.include?(:current_distance)#Domystuff...endend记录器打印空哈希:{}如何检查哪个属性已更改?我正在使用:participant.update_attribute(:current_distance,distance)来更新属性。 最佳答案

从 float 转换的 Ruby Time 对象不等于原始 Time 对象

time=Time.nowfvalue=time.to_freturntime==Time.at(fvalue)这里有人可以解释为什么上面的表达式返回false吗?如何从与原始时间变量匹配的float创建新的时间对象?谢谢 最佳答案 IEEE754double(由to_f返回)不够准确,无法表示确切时间。t1=Time.nowf1=t1.to_ft2=Time.at(f1)#theylookthesamet1.inspect#=>'2013-09-0923:46:08+0200't2.inspect#=>'2013-09-0923:

ruby-on-rails - 与 Ruby 中的 Time.now.advance() 相反

http://api.rubyonrails.org/classes/Time.html#method-i-advance记录一个方法advance()添加到当前时间。是否有相反的'go_back()方法? 最佳答案 我认为没有,但没有什么可以阻止您在advance中使用负值。Time.now.advance(:days=>-1,:hours=>-1) 关于ruby-on-rails-与Ruby中的Time.now.advance()相反,我们在StackOverflow上找到一个类似的

ruby - 为什么 `Enumerable` 有 `first` 而不是 `last` ?

Enumerable有first:(3..5).to_enum.first#=>3但它没有last:(3..5).to_enum.last#=>NoMethodError:undefinedmethod`last'for#这是为什么? 最佳答案 是因为不是所有的可枚举对象都有最后一个元素。最简单的例子是:[1,2,3].cycle#(anexampleofwhatcycledoes)[1,2,3].cycle.first(9)#=>[1,2,3,1,2,3,1,2,3]即使枚举器元素是有限的,也没有简单的方法来获取最后一个元素,除非

ruby-on-rails - Rails 4 - 想让 Rails 将我的本地时区用于 created_at 和 updated_at

是否真的有办法让Rails使用我服务器上设置的当前时区使用created_at和update_at添加/更新行?我见过许多StackOverflow解决方案,其中人们说明了如何在具有选定时区的RailsView上显示它。我还发现其他StackOverflow解决方案指出它应该从我的服务器获取时区并更新created_at和updated_at。至少对于我正在运行的MacMini服务器而言,情况并非如此。我把它设置为我本地的时区。我还在config/application.rb中设置了config.time_zone='CentralTime(US&Canada)'。我希望能够查看pgA