Tag: 命令

与ORDER结合使用时DISTINCT的问题

我正在尝试建立一个网站,为特定事件中的一些运动员排名表现 – 我之前发布了一个问题,收到了一些好的回答,我现在可以确定我的代码的关键问题。 我有2个模型 – Athlete和Result (运动员有很多结果) 每个运动员都可以记录特定赛事的一些时间,我想确定每个运动员最快的时间,并在所有运动员中排列这些最快的时间。 我使用以下代码: params[:justevent]).joins(:athlete).order(‘performance_time_hours ASC’).order(‘performance_time_mins ASC’).order(‘performance_time_secs ASC’).order(‘performance_time_msecs ASC’) %> 这成功地对所有运动员的所有结果进行排序(即一名运动员可以根据他们记录的时间在不同的地方出现多次)。 我现在希望为每位运动员取出最佳成绩,并将其纳入排名。 我可以使用以下方法选择与最佳结果相对应的时间: params[:justevent]).where(:athlete_id => filtered_name.athlete_id).order(‘performance_time_hours ASC’).order(‘performance_time_mins ASC’).order(‘performance_time_secs ASC’).order(‘performance_time_msecs ASC’).first() %> 但是,当我尝试识别@filtered_names列出的不同运动员名字时,我的问题出现了。 我尝试使用但这并不像我预期的那样,有时它会以错误的顺序排名。 我发现,因为它代表我的代码基本上寻找不同的运动员结果之间的差异,从小时时间开始到进展到分钟,秒和毫秒。 一旦发现每个不同运动员的结果之间存在差异,它就会相应地命令它们。 例如,如果我有2名运动员: Time for Athlete 1 = 0:0:10:5 Time for Athlete 2 = 0:0:10:3 这将产生命令,运动员2,运动员1 但是,如果我有: Time for Athlete 1 = 0:0:10:5 Time for Athlete 2 […]

如何保存ruby文件? (错误)

我收到错误在我的命令行中没有这样的文件或目录,我认为这是因为我没有保存特定于某处的ruby文件。 我所做的只是创建一个随机文件夹,我将保存我的ruby文件。 我是否需要将脚本保存在原始ruby文件夹中? 谢谢! **这是Windows 7。 更多信息 – 我所做的只是创建一个名为“Matz.rb”的简单文件,因为我正在阅读O’reilly Ruby书。 在我的代码中,我写的所有内容都是“Hello Matz”。 我把它保存在桌面上。 当我去命令行它和我写ruby matz.rb它说“ruby:没有这样的文件或目录 – matz.rb”请帮助:( 如果这与PATH或shell有关,我真的不知道那些是什么,因为我刚刚开始编码昨晚。

Rails:按两列的总和排序

所以,我有一个Photo模型,可以在full_size和presentation_size下载。 当用户下载照片时,我会在照片的full_downloads和presentation_downloads属性上对其进行跟踪。 这一切都很好。 有时我想知道有多少下载量。 我有一个简单的方法, total_downloads看起来像这样: def total_downloads self.full_downloads + self.presentation_downloads end 我的问题是:我希望能够通过所有这三个(完整,演示,总下载)订购照片。 前两个很容易,但是你如何通过两列的总和来做订单呢? 请注意,这至少需要SQLite和PG兼容。 一个附带问题,将total_downloads方法作为查询会更快吗?如果是这样,最好的方法是什么呢? 我知道总结你可以调用Photo.sum(…) ,但我不知道如何在一条记录上为两列做到这一点。 谢谢!

具有连接和顺序的独特记录

我在User和Donations之间有一个简单的关系,即用户有很多捐赠,捐赠属于用户。 我想做的是获取最近捐赠订购的用户列表。 这是我正在尝试的: 首先,我想获得uniq用户的总数,这是按预期工作的: > User.joins(:donations).order(‘donations.created_at’).uniq.count (3.2ms) SELECT DISTINCT COUNT(DISTINCT “users”.”id”) FROM “users” INNER JOIN “donations” ON “donations”.”user_id” = “users”.”id” => 384 接下来,当我删除count方法时,出现“ORDER BY表达式必须出现在选择列表中”的错误: > User.joins(:donations).order(‘donations.created_at’).uniq User Load (0.9ms) SELECT DISTINCT “users”.* FROM “users” INNER JOIN “donations” ON “donations”.”user_id” = “users”.”id” ORDER BY donations.created_at PG::InvalidColumnReference: ERROR: for SELECT DISTINCT, ORDER BY expressions must appear in […]

Rails 3通过父关联排序

我在Rails 3中有一个相当直接的问题,我似乎无法找到答案: 说我有2个型号:客户,项目。 客户有很多项目项目属于客户 现在我想使用Active Record按“客户名称”对项目列表进行排序(使用ruby数组做这很容易,但我想一旦项目记录数量增加,这将会出现问题)。 我如何使用ActiveRecord进行此操作?

如何在网页中动态显示ping输出?

作为诊断页面的一部分,我希望用户能够运行“ping”,即普通的shell命令将ICMP_ECHO_REQUST发送到某个IP,并在浏览器的div中动态显示结果。 后端是Ruby / Rails。 我过去在服务器端运行命令并从ping命令读取输出。 我一直在构建网页,定期回调服务器动态更新页面的部分内容。 但在这种情况下,有三个挑战: 能够将ajax调用回uri / url以查找运行ping命令的进程 理想情况下,当ping命令返回新的数据行时,能够更新页面 可选择能够“打破”ping。 使用ping我当然可以设置选项只发送x ping然后退出,从而消除了停止进程的需要。 但是我还有另一个工具,它将是下一个日志查看器,并且该工具在一定数量的行之后不会自行停止,但如果没有中断则继续,即使用Control-C。 我是否使用运行ping的进程设置了一个memcache来进行渲染,或者是否有更简单的方法? 我搜索了很多想,这应该是一个常见的问题,有一个rails插件只是神奇地实现了所需的,但我没有找到太多。 有什么建议或指示?

如何通过单独表格中的总和来订购我的参赛作品?

我想知道如何在PostController #index中订购post,以便在单独的表格中按列总数显示。 这是我如何设置它。 class Post < ActiveRecord::Base :has_many :votes end 和 Class Vote < ActiveRecord::Base :belongs_to :post end 我可以向某个post投票或者投票。 我知道有可能更好的方法来做我目前正在做的事情,但是根据我目前的情况寻找解决方案。 当用户对post进行投票时,值1将通过隐藏字段传递到投票表。 当用户对post进行投票时,将值-1传递给同一列(名称投票)。 我想知道如何按照特定post的投票列(在投票表中)的总和显示我的post。 另一种说法是,如果一个特定的post的净投票金额为5,我希望它出现在一个净投票金额为4的post之上。 我假设我需要以某种方式影响PostController #index动作。 但不知道该怎么做。

如何创建支持Ruby的shell命令?

我正在创建一个gem,我希望能够在gem中执行一个shell命令来执行一个函数。 在一个更简单的上下文中,我需要创建一个shell脚本,该脚本在触发shell命令时执行带有选项的Ruby函数。 最简单的方法是什么? 例如: $ cow moo 将使用cow命令的脚本获取一个cow gem,并在Ruby gem中执行’moo’function。 如果可以,我还想支持shell中常见的“选项”格式: $ cow -t moo 上面的示例将采用一个选项并在Ruby中应用脚本来处理它(在此示例中-t将打印’moo’两次)。 如果有人能帮助我们,这将是一个很大的帮助。 谢谢!

隐藏系统命令导致ruby

在ruby中隐藏系统命令的结果有多容易? 例如,我的一些脚本运行 system “curl …” 我不希望看到下载的结果。

rails,activerecord sum然后命令

我有一个属于用户的工作模型和用户has_many工作。 我想创建一个AR查询,计算每个用户的工作日总数,然后按降序排序。 到目前为止我有这个,但是给了我一个错误:(列“Job.id”必须出现在GROUP BY子句中或者用在聚合函数中) @work_days = Job.group(:user).order(‘SUM(total_days)’) 我似乎无法使用.order方法工作 – 是否有我遗漏的东西? 提前致谢!