Ruby China
  • Topics
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • Sign Up
  • Sign In
Gavin
@flypiggys
VIP
NO. 3444 / 2012-08-28

极客公园
北京
9 Topics / 179 Replies
11 Followers
0 Following
63 Favorites
GitHub Public Repos
  • meetup 3

    a meetup app

  • bluestorm_sms 3

    BlueStorm's SMS Gem

  • ddwrt-vpn 2

    ddwrt vpn分流

  • rake-progressbar 0

    Ruby probressbar in terminal for long running jobs

  • my_neovim_config 0

  • GCD 0

    demo of girls coding day

  • carrierwave-qiniu 0

    Qiniu Storage support for CarrierWave

  • Synced 0

    The new website of synced.

  • my_vimfiles 0

    myvimfiles

  • gpk_account 0

    Let's try open source development.

More on GitHub
  • Overview
  • Topics
  • Replies
  • Favorites
  • Following
  • Followers
  • 请问有没有现成页面过期方案 at August 02, 2016

    直接用 updated_at 判断不可以吗?关联属性更新的话 touch 一下。

  • 选择 jsonapi-resources 的理由 at August 01, 2016

    没用过这个,刚刚看了看 JR 的文档。感觉我还是偏向 AMS 一些。 AMS 还是更偏向一个 serializer 的设置,这个 JR 则是把整个 api 都帮你做了。简单的项目比较方便,但是随着代码越来越复杂,gem 的便利不在的时候还是觉得单一功能更符合我喜好。 字段的筛选两个都可以做到。AMS 也有 json api 输出。

    另外纠正下楼主,第二条对应的是 abstract 特性。immutable 是无法 put 或 patch。

  • 使用 Rails 5 创建 API-Only 应用 at July 26, 2016

    👍 不错,想的挺仔细的。

  • [北京] 抗癌卫士 APP 招聘 Ruby 攻城狮,坐标北京朝阳区四惠东,弹性工作不打卡,老板帅气颜值高,技术团队氛围好,产品社会价值大。 at July 22, 2016

    #6 楼 @eagle_122 万一被我挖过来怎么办😂😂😂

  • [北京] 抗癌卫士 APP 招聘 Ruby 攻城狮,坐标北京朝阳区四惠东,弹性工作不打卡,老板帅气颜值高,技术团队氛围好,产品社会价值大。 at July 22, 2016

    还要兼职做前端

  • RSpec 全套测试环境搭建从零入门 at June 08, 2016

    #10 楼 @watraludru #11 楼 @msg7086 同意你们的说法,database_cleaner 提供了更强大的数据库清理手段,而在测试时清楚自己需要哪个为什么用哪个,测试数据在哪里被创建哪里被还原这样踩得坑会更少😄 😄。

  • RSpec 全套测试环境搭建从零入门 at June 08, 2016

    #12 楼 @lolychee 这是我的一个错误,是 use_transactional_fixtures 把测试的每个 example 包在一个事务中,在测试完成后由于事务被回退所以其它测试中的数据并没有被污染,也就相当于在每个 example 执行完清理了数据库

  • RSpec 全套测试环境搭建从零入门 at June 07, 2016

    #8 楼 @hfpp2012 我对这个问题最早的追溯实在某本书里提到默认的策略清不干净,所以作者建议使用 database_cleaner。当时还比较懵懂,所以没有细研究。

    成熟的测试框架在 setup 和 teardown 中都包含有数据库清理策略。所以后来我就很奇怪为什么要额外引入一个清理数据库的工具。我一直喜欢不引入新的 gem 直到我确认我需要它,后来我也就一直没有引入这个 gem,发现并没有对我的测试造成什么影响。

    让我对这件事开始比较郁闷是因为我们一个小同学在初始化测试框架的时候,直接就把这些 gem 包含了进来,于是我问他为什么要这么做,框架自带的功能不能满足吗?他并无法解释只是因为别人的文章里全都这么写的,他没有消化的直接拿了过来。

    另外config.use_transactional_fixtures = true这个在 rspec 中并不特指 rails 的 fixture,factory_girl 也是同样适用的。只代表测试中把所有的夹具都放在事务中,一旦测试完成则回退整个事务。

    我理解 database_cleaner 的意义一个是更多的 orm,以及说是更灵活的清理方式吧,在 each这种清理方式无法满足你的测试策略时候可能会用到,但是我还没遇到过这种情况。。即使我遇到了比如在 before(:all) 中写入数据这种很少见的情况,我也可能依然会手动清理,这个 gem 可能也帮不上我什么。

    config.before(:suite) do
      DatabaseCleaner.strategy = :transaction
      DatabaseCleaner.clean_with(:truncation)
    end
    
    config.around(:each) do |example|
      DatabaseCleaner.cleaning do
        example.run
      end
    end
    

    我认为如果使用这个默认的写法效果应该是和使用config.use_transactional_fixtures = true相同的。

    最后分享一个曾经遇到的小坑,就是使用config.use_transactional_fixtures = true时,在 rails 5 之前 model 的after_commit callback 是不会被执行的,因此有人建议使用 database_cleaner,而我选择的是使用test_after_commit 来解决这个问题

  • RSpec 全套测试环境搭建从零入门 at June 07, 2016

    #6 楼 @hfpp2012 我只是对所有 rspec 的帖子中一律添加 database_cleaner 的行为发出请教。 尤其是你特意删除掉 use_transactional_fixtures 而又加上 database_cleaner 的行为更让我奇怪. 因为在我看来两种方式的作用是一样的..一定会有什么无法拒绝的原因比如 rspec 的 bug 之类的才会让大家转而使用这个 gem.

    而连接中的内容也并没有用 hook 去清除...你不愿意看的话我可以把解释部分帮你贴出来..

    The name of this setting is a bit misleading. What it really means in Rails is "run every test method within a transaction." In the context of rspec-rails, it means "run every example within a transaction."

    The idea is to start each example with a clean database, create whatever data is necessary for that example, and then remove that data by simply rolling back the transaction at the end of the example.

    另外我并不是揣测你的想法..只是对你根本没有想过这个问题而流露的一点遗憾.....

  • RSpec 全套测试环境搭建从零入门 at June 07, 2016

    #4 楼 @hfpp2012 https://relishapp.com/rspec/rspec-rails/docs/transactions 看来你也是并不知道为什么就加了这个 gem

  • RSpec 全套测试环境搭建从零入门 at June 07, 2016

    所有的 rspec 使用介绍全都安装 DatabaseCleaner 的意义是什么呢?rspec 在执行完每个用例不会对数据进行清理吗? 什么情况下需要 database_cleaner 呢?

  • [上海] 巧思科技诚聘后端服务工程师/架构师 at May 27, 2016

    好动心.....对前端团队...

  • [北京] 寻找初中级 Ruby on Rails 开发工程师,也欢迎来实习。 at December 30, 2015

    注册资本好高

  • [北京·中关村][2015/12/6] 分享:加入创业团队前你需要知道的事情 at November 23, 2015

    活动行上面时间写成凌晨了。2015 年 12 月 6 日 2:00 ~ 2015 年 12 月 6 日 5:00

  • 完美的 Ruby 图形验证码 Gem - RuCaptcha at November 04, 2015

    #68 楼 @huacnlee 那个回帖里的代码就是作者在极客公园写下的…现在我们时不时的还会被刷注册,每次 sendgrid 都被暂停,session 这个问题是我之前排除过的一个原因,但依然没有根治……因为满足不了现在需求正好在重写用户中心,重构完如果还不能根治就得把代码开源出来大家来找茬了😂😂😂

  • 完美的 Ruby 图形验证码 Gem - RuCaptcha at November 02, 2015

    这个并不完美~

    verify_rucaptcha? 这里有逻辑不全,攻击者只需要手动填写一次验证码即可利用这个 session 使用脚本继续刷注册..

  • Rails 到底该选择什么 server at August 11, 2015

    感觉快要抵挡不住诱惑从 unicorn 改用 puma 了...

  • 为什么要做 Rails Girls? at July 28, 2015

    个人觉得 rails girls 略带性别歧视的意思...

    而论坛里同样 RTFM 的问题女人问出来就好多人回答....毫无节操....

  • 关于父子分类的查询问题 at July 23, 2015

    这个结构为啥不用单表继承

  • [北京] Zentertain 招聘 Ruby 开发工程师 1 名,21-33K at July 13, 2015

    别人家的公司

  • 怎么限制数据库当中的总条数? at July 13, 2015

    http://stackoverflow.com/questions/2263267/limit-number-of-objects-in-has-many-association

    这个回答应该可以解决你的问题

  • 无需更改 Gemfile,让 bundle 使用淘宝源 at July 03, 2015

    然而淘宝的源一点都不快。

  • Ruby 中的 Profiling 工具 at June 03, 2015

    直接用 oneapm 就好啦~

  • [北京] e 袋洗寻找同样痴迷代码的灵魂人物——ruby 开发工程师 4 人;B 轮 1 亿美金等你加入! at May 22, 2015

    招聘贴质量比之前有诚意了不少~之前的血汗工厂即时感没有了~

  • [上海] 哔哩哔哩-诚邀 Ruby 工程师-只差你了! at May 22, 2015

    支持 B 站

  • [北京][2015年5月23日] Ruby Saturday「活动召集」 at May 12, 2015

    为啥 e 袋洗赞助的场地不在 751 附近呢,中关村好远啊...

    不知道为啥总觉得 ruby 做 microservice 是邪教=.=

  • after_save 不能使用 previous_changes at April 15, 2015

    after_save是在 commit 发生之前,你没 commit 呢当然 previous_changes 不起作用 另外你这个情况适合用

    after_save :touch_method, if: ->(){ attr_changed? }
    
  • 中国有哪些类似 ruby-china v2ex 的高质量社区? at April 10, 2015

    现在这俩还算高质量吗.....

  • 利用 ActiveSupport::Notifications 在 Rails 中实现 PUB/SUB 模式 at April 01, 2015

    我更倾向于在应用间使用 pub/sub 模式进行沟通. 现在实际应用中是使用队列进行沟通。

  • Prev
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • Next
关于 / RubyConf / Ruby 镜像 / RubyGems 镜像 / 活跃会员 / 组织 / API / 贡献者
由众多爱好者共同维护的 Ruby 中文社区,本站使用 Homeland 构建,并采用 Docker 部署。
服务器由 赞助 CDN 由 赞助
iOS 客户端 / Android 客户端 简体中文 / English