@ccok 页面背景色太暗了,看起来有点费劲。
改版后看着很不清楚啊!
@lgn21st 暂时是先自己实现了,稍后看看源码去谢谢!
@lgn21st 这个插件貌似还不支持 rails 5.目前还是个 open issue
@flowerwrong 这个之前找到了,没有解决问题。
放到 Devise::RegistrationsController 啊,取消掉 if: :devise_controller?
@kevinzhow 谢谢!
@liukun_lk 元编程上也提到了,为了讲清楚来由,我就还按照以前的写法写了。
没有执行三次
class Mytest
include Myc1
end
"else:self=Myc1,@_dependencies=[Myc2]"
"else:self=Myc2,@_dependencies=[]"
这个才是 class 包含的时候的结果。当 include Myc1 的时候调用 Myc1 的 append_features 的 else 部分。
此时 self 是 Myc1,base 是 Mytest.
@_dependencies.each { |dep| base.include(dep) }
这个是一个递归调用,相当于执行了 Mytest.include(Myc2)
因此会调用 Myc2 的 append_features
此时的 self 是 Myc2,base 是 Mytest,所以继续走 else 部分
但是此时数组@_dependencies是空的
因此直接走下边的 super,把 Myc2 放入 Mytest 的继承链中
直到 Myc2 的 append_features 运行结束
然后再回到 Myc1 的 append_features 中执行其 super 方法,把 Myc1 放入 Mytest 的继承链中。直到结束。
@famicne 可以用这个 Benchmark 做个测试,对比下时间消耗.
@huacnlee @easonlovewan 尝试了把 Identity 写在 class << self 外边,感觉区别主要还是在作用域方面的. @huacnlee 以后会注意.
直接 has_many :c through: :b 不就可以用 a.c 了.
分母+1
@jwjno 这个倒是可以考虑.谢谢!
@easonlovewan 我这个吧感觉缓存不是很合适,因为上边还有一些过滤条件,用缓存的话那需要缓存的东西有点多啊.
@jasl 好的谢谢!
@huacnlee 已经修改了,可以吗?
围观
@huacnlee 如你所料,谢谢!
又一家郑州的公司赞一个
可以用 whenever,基于 crontab 的,避免了多个应用进程的问题。
可以看下 jq 选择器,实现方法很多。
衣服号码偏小,袖子很胖
南阳居然有 ror 了,太意外了。
关注。感谢付出! @riskgod 邮件发送到垃圾箱了,看看你的是不
@jerrym 看 options 啊,里边包含有 port 参数
def self.download!(host, username, remote, local=nil, options={}, &progress)
options = options.dup
start(host, username, options.delete(:ssh) || {}) do |scp|
return scp.download!(remote, local, options, &progress)
end
end
def self.start(host, username, options={})
session = Net::SSH.start(host, username, options)
scp = new(session)
if block_given?
begin
yield scp
session.loop
ensure
session.close
end
else
return scp
end
end
其中 option 选项可以参考: http://net-ssh.github.io/net-ssh/Net/SSH.html
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] 如上替换自己公钥地址和服务器信息即可
楼上正解,这个和进程数量有关!
@lampeagle 哈哈,我是这样用的,不知道有没有更好方法。