在日本干了这么多年。。好像从来没被问过你哪儿毕业的。
前端的 JS 和 CSS 一直都用的 webpack 打包,和 rails 完全分离开了,好处是升级不用管 rails,相对容易些。
以前也用 coffee,自从用 typescript 重写了 coffee 以后,就离不开 TS 了!
第一个问题不是判断存在,是要等覆盖的元素消失了才 click。
变相的 等覆盖的元素消失了,读起来是有点奇怪
expect(page).to have_no_content('元素的text') # 等待元素消失
# do some click
- 我有个延迟消失的元素,必须等他消失之后才能 click 被他覆盖的元素。这里的等待如果不用 sleep 还有更好的方式吗?
用类似下面的应该可以判断,会等到元素消失 (等待时间为 Capybara.default_max_wait_time 设置的时间)
expect(page).to have_no_content('元素的text')
- 还是元素覆盖的问题,我有个全屏覆盖的元素,意图是按任何一个点都能优先触发这个效果,比如侧边栏的弹回,这时候如果测试 click 一个按钮,效果应该是触发侧边栏的弹回,但结果是报错元素覆盖,按不到按钮。但如果直接去 find 那个全屏元素 click 就不符合这个测试意图了。这个该如何解决呢?
没想出啥好办法,感觉 直接去 find 那个全屏元素 click 是个折中的办法。
- 有个文字被包含在一个 display: none 的模块里,效果是希望点击按钮后通过 JS 显示,但是用 have_content 去查的话这个文字是一直存在的。这个该如何验证?
感觉这样可以
expect(page).to have_no_content('元素的text')
# click some button
expect(page).to have_content('元素的text')
justmysocks 用起了,每个月 20 块的没了,最低每个月 40 块,查个东西问题不大。
统计一下那个功能的使用率之类的,做个图表给老板看下,也许能明白
不错,个人感觉做 API 设计的可以翻翻这本书。 Web API: The Good Parts
https://stackoverflow.com/questions/28533602/how-do-i-navigate-to-the-earliest-commit-in-a-github-repository
我开始以为要在本地git log --reverse
,结果发现网页上也可以
首先应该明确返回什么 json,什么 http status
比如
{ saved: false, error_message: 'some message' } # 失败的时候
{ saved: sucess, id: xxx } # 成功的时候
比如可以类似这样,也可以使用 jbuilder
def create
@order = Order.new(params.require(:order).permit!)
if @order.save
render json: success_json
else
render json: fail_json, status: :bad_request
end
end
感觉一般 CookieStore 就够用了
如果有以下情况,我会考虑换到 redis
def test
a = nil
eval("a=1")
a
end
输出
pry(main)> test
=> 1
这个 Gem 安装在 ruby 2.6.0,不知道为什么它去找 ruby 2.6.2p47,找不到就报错了。
试试这个 Gem
我用的这个,可以不用在 application.ts 里面 import jquery。
# webpack.config.js
const webpack = require('webpack');
module.exports = () => {
return {
plugins: [
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: "jquery",
}),
].filter(Boolean),
};
};
不错,我以前也写了一篇类似的帖子。
https://ruby-china.org/topics/37289
话说好像还没解决这个 ISSUE。
https://github.com/docker/for-mac/issues/77
这个目前项目在用,感觉挺有效的,可以提速不少。
本地测试的话,可以只测试修改的文件,或者指定测试某个用例。
$ bundle exec rspec spec/models/user_spec.rb
$ bundle exec rspec spec/models/user_spec.rb:30 # 测试第30行的用例
没找到 mixin 的定义,类似这样
@mixin media($size) {
# some code
}
@lyb124553153
右边有 label,选择添加
@zzz6519003
可以的,已经用起来了
rubymine 支持注释吧,mac 的话 alt + Enter 就可以简单的添加,添加以后 IDE 就可以分辨类型,然后就可以准确的 code jump。rubymine 以外的 IDE 不清楚。
# @param [User] user
# @return [User]
def test2(user)
user.save
user
end
Rails 4.0 以前这样
# app/models/article.rb
class Article < ActiveRecord::Base
include Tagging
end
# app/models/concerns/tagging.rb
module Tagging
...
end
使用 Rails 4.1.0 追加的 Module#concerning
# app/models/article.rb
class Article < ActiveRecord::Base
concerning :Tagging do
...
end
end
以前要在 concerns 文件夹下面添加文件,现在不用添加文件直接在 model 里面就可以定义
用途:目前没用过,没想到特别适合的情况
https://gist.github.com/iamdbc/f73b1984a8ffe239b5e197ad8f5e9e87
应该需要重启 puma,你可以试下上面这个 (puma 未测试,我用的 unicorn 类似的设置没有问题)
首先要弄清楚什么地方卡,最好给个服务器的结构图
取较大数据的时候,可以考虑看看下面这些
没找到啥好的,目前用 td-agent + bigquery
可以试试这个,Mechanize
首先登录,然后使用 download 方法下载
nginx 是 web 服务器,比如还有 apache
但是只有 nginx,无法使用 rails 程序,必须有东西来连接 web 服务器和 rails 程序
这个程序就是 puma,也叫 rack 服务器,类似的还有 unicorn 等
只有 puma 好像也可以跑起来,但是它只有十几个线程,同时请求太多就不行了
nginx 的连接数可以有上千个,可以同时处理更多请求