草庐IT

php - 带有联接的 SQL 更新失败

全部标签

sql - 不同的加入 Rails

视频有很多事件我正在尝试获取所有在未来安排了事件的视频。我已经有了这个:named_scope:scheduled_in_future,:joins=>:event,:conditions=>["event.scheduled_start>?ANDevent.status=?",Time.now.to_i,'PENDING']这行得通,但如果同一个视频在未来有多个事件,它会给我重复的视频记录。当然,我可以遍历数组并清除重复项,但必须有一种SQL方法才能做到这一点。我尝试添加一个:select=>"DISTINCT(video.id)"但它只返回ID字段而不是整个记录。

sql - 如何使用 Arel 正确地向带有 'or' 和 'and' 子句的 SQL 查询添加括号?

我正在使用RubyonRails3.2.2,我想生成以下SQL查询:SELECT`articles`.*FROM`articles`WHERE(`articles`.`user_id`=1OR`articles`.`status`='published'OR(`articles`.`status`='temp'AND`articles`.`user_id`IN(10,11,12,)))通过使用Arel这样Article.where(arel_table[:user_id].eq(1).or(arel_table[:status].eq("published")).or(arel_tab

sql - Rails 3 Sum 两个领域的产品

我需要计算我的Rails3应用中两个字段的乘积之和(即相当于Excel的sumproduct函数)。Rails中是否有一种方法可以帮助解决这个问题?如果没有,那么使用自定义sql的Rails代码是什么?例如,酒店有很多房间。房间具有sqft(平方英尺)、数量(该尺寸)和hotel_id的属性。我想计算给定酒店中所有房间的总平方英尺。在SQL中,对于Hotel.id=8,我相信以下语句会起作用:selectsum(rooms.sqft*rooms.quantity)asSumSqftfromroomsinnerjoinhotelsonrooms.hotel_id=hotels.idwhe

sql - 在 Rails 中进行计数的正确方法是什么?

我有一个包含以下许多代码片段的Rails应用程序:Ouractivecommunityof我的问题是,这是计算观看次数的正确方法吗?看起来很“肮脏”,有没有更粗鲁的方法来计算?我可能在考虑命名范围,但我只是想确保这些类型的东西不会对性能产生更大的影响。谢谢你, 最佳答案 您不需要名称范围来执行计数。Account.where(:admin=>false).count但是命名作用域是使您的代码更具可重用性的绝佳方式。命名范围不会对您的应用程序产生任何明显的性能影响。 关于sql-在Rail

ruby-on-rails - 如何在不使用不同变量名的情况下更新 Rails 模型中实例方法中的属性?

我想在rails的实例方法中更新属性,而不必被迫更改传入的参数,这样我就可以利用rails的自动属性。这是一个例子。理想:status="some_new_status"person.update(status)classPerson我现在要做的:classPerson我明白在这个例子中这并不重要。但是,当我有复杂的更新方法时,如果我可以删除其中的一些代码,它会更清晰。 最佳答案 你应该使用内置的Rails方法:@person.update_attribute(:status,"SomeValue")#nocallbacktrigg

ruby - 带有字符串参数的 Sinatra 应用程序的 Heroku rake 任务失败

我刚刚将Sinatra应用程序部署到heroku,该应用程序包含两个rake任务:task:create_db,[:db_id,:db_name]task:destroy_db,[:db_id,:token]当我运行时herokurunrake-T在控制台中,Heroku打印以下响应:(in/app)rakecreate_db[db_id,db_name]#Creationcountdatabasetaskrakedestroy_db[db_id,token]#Destroydatabasetask但是当我运行时:herokurunrakecreate_db['test','testd

ruby - 使用 RVM 安装 Ruby 时出错(安装 RubyGems 失败)

我正在尝试通过RVM安装Ruby1.9.3。然而,当谈到安装RubyGems时,我得到了这个:curl:(22)TherequestedURLreturnederror:404Therequestedurldoesnotexist:'http://production.cf.rubygems.org/rubygems/rubygems-.tgz'Tryingftp://URLinstead.%Total%Received%XferdAverageSpeedTimeTimeTimeCurrentDloadUploadTotalSpentLeftSpeed00000000--:--:--0

ruby-on-rails - 让 nokogiri 使用更新版本的 libxml2

我一直在尝试在我的计算机(MountainLion)上安装Nokogiri以与rspec和capybara一起使用,但对于我来说,我无法让它正常运行。据我所知,问题在于nokogiri使用了错误版本的libxml2。到目前为止,我已经尝试使用Homebrew卸载和重新安装libxml2(确保它是最新的),使用bundle卸载和重新安装nokogiri,并指定Homebrew在安装nokogirigem时安装的libxml2文件的确切路径。我最近的安装说明是这样的sudogeminstallnokogiri----with-xml2-include=/usr/local/Cellar/l

ruby-on-rails - 使用带有载波 gem 的多个 S3 存储桶

我最近刚刚设置了我的Rails3.2应用程序以使用carrierwavegem并将文件上传到S3。我看不到的是能够为每个上传者使用不同的存储桶。有谁知道这是否可能? 最佳答案 存储桶是通过fog_directory配置指定的。此配置选项在uploader上定义,可以简单地用您自己的方法覆盖。只需将以下内容添加到您的uploader:deffog_directory#yourbucketnamehereend 关于ruby-on-rails-使用带有载波gem的多个S3存储桶,我们在Sta

ruby - 在 shell 命令失败时引发异常?

我正在用Ruby编写一些脚本,我需要通过shell命令与一些非Ruby代码交互。我知道至少有6differentways从Ruby执行shell命令,不幸的是,当shell命令失败时,这些似乎都不会停止执行。基本上,我正在寻找的东西相当于:set-oerrexit...在Bash脚本中。理想情况下,该解决方案会在命令失败时引发异常(即通过检查非零返回值),可能会使用stderr作为消息。这写起来并不难,但似乎应该已经存在了。有没有我找不到的选项? 最佳答案 Ruby2.6addsanexception:argument:system