#11 楼 @doitian 而在 class << self
block 里用 attr_accessor
用的 class 的 instance variable。子类拥有自己的拷贝。子类的修改不影响父类。子类在声明时,也不会从父类继承当前的值。所以子类必须自己初始化。
但很多时候又想继承值,但在子类修改的时候不影响父类(写时拷贝),于是 Rails 又捣腾出个 class_attribute (旧称 class_inheritable_accessor
)
您的时髦值是 同时用 Vim 和 Emacs,这人早被烧死了
计数怎么不直接 count(:x, unique: true)
?
sidekiq
应该是连接到 SSH 的 pipe 关了,mina 还在尝试读,并且没捕抓异常。我也老碰到。
update_product
的 created_at
也变了呢?没道理啊,你又没新建一个,是不是有什么 callback? 而且你这个方法一个 update_all
就完了,不用一个个取出来。
实际调用的是 Symbol#to_proc,和下面这个是等价的:
tags.map { |tag| tag.name }.join(", ")
user 创建失败,可能是 validation 没通过
crontab 安装的用户是脚本所在的 ~
目录的那个用户吗?
在 script.sh 加上 set -e
,有错误立即退出能帮助你测试。还可以在 script.sh 加些调试语句,比如
echo "debug" >> /tmp/script.debug.txt
另外就是把全部的输出,包括 sh 执行语句的 log 全部都重定向到一个文件中去:
# 加在文件开头的地方
exec >> /tmp/script.debug.txt 2>&1
set -e
set -x
...
一般就人肉看看页面。核心的东西有 Capybara 去覆盖。除非页面有些东西很重要,为了避免修改的时候忘记了,可以测试下。比如某个 form 必须要有个 hidden field。
Hash[(h1.keys|h2.keys).collect{|k| [k, [h1[k] || 0, h2[k] ||0]]}]
另外 a.slice!(a.index(♠3))
没就删掉了嘛,还循环什么。要删除多张,多次调用就行了。另外你可以从后往前遍历,这样删掉了不影响剩下要遍历元素的位置。
给每张牌都分配个 ID 有 4 张 ♠3 就是 ♠3_1 ♠3_2 ♠3_3 ♠3_4
,这样就可以用 Set
来存放。要么用 Hash,key 是牌型,value 是剩的张数。
装完一些依赖库再试试
sudo apt-get update
sudo aptitude install -y \
build-essential zlib1g-dev \
libssl-dev openssl \
libreadline-dev \
sqlite3 libsqlite3-dev \
libxslt-dev libxml2-dev \
curl wget git-core \
mysql-client libmysqlclient-dev
helper models 只要把目录加到 $:
里就好了。 controllers
可能要在 config.ru
里 mount 一下。
#18 楼 @jiyinyiyong 为了处理 @
后用户名带各种下划线,只能在 markdown 之前全部替换掉了。碰到了恶心的 CoffeeScript @
和变量名是分开的 syntax class,这样就没法替换回来了。
这个还真不好处理了。如果在 Markdown callback 里处理,用户名已经被替换了,没法知道原来是啥。如果之前处理,需要先自己解析 Markdown 语法一遍,找出哪些是代码。
FYI: https://github.com/ruby-china/ruby-china/blob/master/lib/markdown.rb#L148
HEAD 请求 body 应该为空,把 res.write '\n'
去掉。
$ poweroff
word.downcase.each_char.collect(&:ord).inject(&:+) - 'a'.ord * word.size + word.size
<%= render :partial=>"layouts/profile",:collection=>@user.collections, :as => :collection %>
有个 :as
参数 :as => :collection