换了个思路,使用以下方式解决....
logs = OperationLog.select(:user_id).where(interface_id: params[:interface_id]).page(param_page).per(param_limit).group(:user_id).includes(:user)
谢谢回复,试了一下,生成的语句是一样的,没有变化。
明白了,多谢,我下一步就去改成 UTC
能说一下具体场景吗?如果不使用 UTC 的话,会在什么场景掉进坑里?
可如我在 console 里查询的那样,结果里显示的依然是 UTC 时间:created_at: "2017-05-10 15:13:10"
并没有自动转成 CST+8
只有单独取这个字段的值的时候才会是 CST+8 时间。
项目需要,有一个表其实是一个日志表,专门放在日志数据库里,我为了方便理解,简化了一下描述,用的 mysql。
从生成的 SQL 看,这个最终还是会INNER JOIN
,但我的两个表是在两个不同的数据库中,这样似乎不成立。
还是谢谢你的回复。
虽然还可以使用 redis 缓存 domains 表,但还是想知道 eager load 能不能做到这样的关联?
根据目前的回复,做了个统计排序:
看到坛里的几个大牛都在用 Go,Go 有 Google 支持,看起来前景更好。
这两种语言开发的切换,是不是还要切换操作系统?
请问是用 javascript 写后端吗?
请问终端用的什么字体?感觉很好看。
不可以,会报错。
明白了,非常感谢,以后遇到这种需要 select 指定列的情况会避免用any?
和empty?
找到原因了,是因为我在 views 里,调用了 @devices.any?
用来判断有没有查询结果,换成 @devices.present?
第一条语句就消失了,看起来是因为我在 @devices.each
之前使用了 @devices.any?
所以会先生成第一句语句。
但为什么调用 @deivces.any?
的时候,第一条语句里的 sum 会消失的问题,还没搞明白。
谢谢回复,我有引入 kaminari 到 gemfile,但这个 model 的查询并没使用它,我刚才试着把 kaminari 从 gemfile 里去掉,并 bundle install
,重新 rails s
,问题还在,第一条语句还是出现。
谢谢回复,每个机房建一个这样的服务实现起来感觉有些麻烦,成本也不小。
好的,多谢,我看看
谢谢回复,用 SecureRandom.uuid
生成的话,和 uuidtools 没啥区别吧?如果我为每个节点服务器配置一个数字 ID 然后加上用SecureRandom.random_number
生成的随机数字,在高并发下,是不是还是会有问题?
引用 @vincent 在这里的关于 mysql 使用 uuid 为主键的回复
没有这样用过,不过从 innodb 存储特性看,这种做法非常不可取,如果数据量很大,可能导致严重的性能问题,主要原因有:
innodb 的非主键索引都将存一个主键,uuid 相比整数 id,索引大小增加很多; uuid 主键比较肯定比 整数慢,另外非主键索引查找最终还要引用一次主键查找; innodb 主键索引和数据存储位置相关(簇类索引),uuid 主键可能会引起数据位置频繁变动,严重影响性能。
谢谢回复,我忘记说我用的是 MySQL 了。
在 stackoverflow 上看到有人这么做
# app/controllers/application_controller.rb
class ApplicationController < ActionController::API
include ActionController::ImplicitRender
include ActionController::Helpers
end
# app/helpers/application_helper.rb
module ApplicationHelper
def foo
"bar"
end
end
这样做真的好吗?
#13 楼 @xifengzhu 谢谢回复,受到了你的启发,我决定把 token 存在当前 app 的运行时状态里,因为这是个后台管理系统,我也不想做成保存认证状态,每次关掉浏览器标签就丢失 token,每次重新打开都要登陆就好了。
#5 楼 @hxh1246996371 我只是不确定这是不是最佳实践,另外 jwt 其实也是需要客户端保存 token 的吧,每次请求也要在 header 上带上 token。最终还是保存的问题。
#2 楼 @hlcfan 能详细介绍下吗?我看了一下 faceless 的源码,没看明白,我的客户端是由 vue.js 写的,能应用这种做法吗?
#3 楼 @hxh1246996371 但 Rails5 我用的是 API only 模式,不支持 cookie 的情况下,即使设置了 nginx,也不能下发 cookie,所以用 nginx 来设置 httponly 就是虚设吧。
#13 楼 @u1440247613 其实我上面说过,不只是数据展示,还有数据操作,就是一个正常的后台管理系统,只不过前后端要分离了