草庐IT

mysql - 更新 MySQL 表,删除旧记录。

全部标签

ruby - 我如何记录提供 block 是可选的方法?

我有一个这样记录的函数:###Searchesforstreetnamesinthelocaladdressdatabase.Returnsalist#ofstrings,orinvokestheblockforeachresult.##@param[String,Hash]query##Canbe:##-Asearchstringwithoptinalwildcards.Examples:#-"Bærumsv*"#-"Fornebuve_en"##@param[Integer]limit##Limitstheamountofresults.See{#search_street_add

ruby-on-rails - 如何获取当月创建的记录?

我有一个候选人has_many选票。我正在尝试获取当月创建的候选人的选票?@candidate.votes.from_this_monthscope:from_this_month,where("created_at>?ANDcreated_at这给了我一个PG错误:PG::错误:错误:列引用\"created_at\"不明确如果我尝试scope:from_this_month,where("vote.created_at>?ANDvote.created_at出现以下错误PG::Error:ERROR:missingFROM-clauseentryfortable"vote"

ruby-on-rails - HABTM重复记录

我有2个模型Game和Theme,它们有has_and_belongs_to_many关联。我已经尝试了很多解决方案来防止games_themes表中出现重复记录,但没有任何解决方案有效。问题是,games_themes是一个表,但它不是一个模型,所以我想不出一种有效地对其进行验证的方法。这是我尝试过的解决方案classThemetrueendclassGametrueend 最佳答案 您应该使用数据库级验证:#new_migrationadd_index:games_themes,[:game_id,:theme_id],:uni

ruby-on-rails - 从表中删除与数组中的数据匹配的记录?

我有一个包含2个字段的表。单词和时间戳。然后我有这个包含一些单词的数组。如何删除表中与数组中的单词匹配的所有记录?假设模型名为“Word”。关于如何实现这一点有什么想法吗?可能遍历数组并运行一些销毁查询。有人可以指导我吗?谢谢 最佳答案 这样做:Word.delete_all(:words=>words_array)这将在一个SQL语句中删除与给定数组中的单词匹配的行。例如:words=["pop","popalternative","r&b"]Word.delete_all(:words=>words)

ruby - "gem update --system"会将 rails 从 2.3.8 更新到 3.0 吗?

如果我有第二台计算机,我会这样做并看看-但我已经对它进行了微调,使其暂时不运行3.0......不想搞砸它。花了好几个小时才到这里。基本上-我想将rails保持在2.3.8一段时间......所以会gemupdate--system更新rails从版本2->3?我确实阅读了没有明确答案的文档,我猜它会,但是嘿,可能会学到一些新东西。否则,我会更新我拥有的每一个(8-1个)gem。谢谢... 最佳答案 gemupdate--system仅更新RubyGems。gemupdate会将所有已安装的gem更新到最新版本,因此会将Rails更

ruby-on-rails - rails/事件记录 : save changes to a model's associated collections

我是否必须保存对模型集合中单个项目的修改,或者是否有一种方法可以在我保存模型时调用以保存它们。#save似乎没有这样做。例如:irb>rental=#...#=>#irb>rental.dvd#=>#,sale_price:#>irb>rental.dvd.copies+=1#=>21irb>rental.save#=>trueirb>rental.dvd#=>#,sale_price:#>irb>Dvd.find_by_title('TheWomenofSummer')#=>#,sale_price:#>在上面的例子中,租赁的DVD副本似乎没有更新数据库中的副本(注意不同的副本数)。

ruby-on-rails - delayed_job 不记录

我无法记录来自delayed_job进程的消息。这是正在运行的作业。classMyJobdefinitialize(blahblah)@blahblah=blahblah@logger=Logger.new(File.join(Rails.root,'log','delayed_job.log'))enddefperform@logger.addLogger::INFO,"loggingfromdelayed_job"#dostuffendend我尝试了各种日志记录级别,并且在我的环境配置中有config.log_level=:debug。我从monit运行delayed_job。我将

ruby-on-rails - 如何在 Rails 3 事件记录中链接查询

我需要根据参数数据添加条件。@users=User.where('id',params[:id])unlessparams[:id].nil?@users=User.where('email',params[:email])unlessparams[:email].nil?@users=User.limit(10)但由于某些原因它不起作用。谢谢 最佳答案 您的每个语句都替换了@users变量,并且当ActiveRecord延迟计算每个语句时,永远不会调用前两个。如果您想维护三个独立的查询并以这种方式构建事物,您可以这样做:@user

ruby - 缺少 mysql2 gem。将它添加到你的 Gemfile : gem 'mysql2'

版本ruby1.9.2-p290导轨3.0.9rvm下的mysql2-0.2.13Ubuntu11.04gem使用“geminstallmysql2-v'rails和“railsc”工作正常。我需要使用activerecord3.0.9在Rails环境之外运行脚本。当我运行脚本时,这是输出:======================/home/ross/work/x/library/models.rb:27:in`eval':!!!Missingthemysql2gem.AddittoyourGemfile:gem'mysql2'(RuntimeError)from/home/ros

ruby-on-rails - 在事件记录中使用 arel 的关系计数

我真的很难弄清楚如何在事件记录的arel中执行此查询和其他类似查询。selectusers.id,users.name,maps.countasmap_count,fromusersleftjoin(selectuser_id,count(map_id)ascountfrommaps_usersgroupbyuser_id)mapsonusers.id=maps.user_id从表面上看,它看起来就像Nik在此处的示例(http://magicscalingsprinkles.wordpress.com/2010/01/28/why-i-wrote-arel/):photo_count