• 搭便车也推荐个我写的小工具:rails_log

    同时也支持邮件日志。

    没有其他依赖,用的是 Notifications 和 Subscriber 的机制实现的,不是有些 gem 用的 rescue_from,性能更好(因为 Rails 的 Notifications/Subscriber 是在另启的线程里完成的)。

    效果图如下:

    可以在配置文件里配置 权限 和 不通知的异常,如:

    RailsLog.configure do |config|
      config.ignore_exception = [
        'ActionController::UnknownFormat'
      ]
    
      # 默认配置也是会判断 admin? 为 true
      config.constraint = -> (req){ Employee.find_by(id: req.env['rack.session']['warden.user.employee.key'][0][0])&.admin? }
    end
    

    用法也很简单,直接添加到 gem 里面,然后跑下 migrations 就可以了。

    ——————

    更正:有依赖,依赖自己写的一个 通用 engine, rails_com , 抽时间把依赖加上。或者 fork 后自己改一下。

  • 不错,正想找个。

  • 这属于没受到尊重吗? at 2017年02月09日

    如果确实对那份工作感兴趣,可以多发几封邮件催问。我现在的公司就是我发了数封邮件催问 hr 后,hr 总监督办的。还导致这个 hr 给公司留下了不好的印象,后来被劝退,有些 hr 就是不够负责任的,或者确实忙。

  • faker 大坑,用了之后测试奇慢

  • #10 楼 @Stone #12 楼 @quakexx #13 楼 @hammer #28 楼 @southwolf 谢谢大家帮忙顶贴,也希望武汉的创业氛围越来越好。 我们公司之前也招聘了一些新人,几个小伙伴成长的也很快。现在主要是想招聘几个中高级程序员或者前端不错的 ruby 工程师。

  • Mina 升 1.0 后的差异 at 2017年01月18日

    可以负责任的告诉你,不会每次重装一遍新的。

  • #24 楼 @lihaitao 不可以,不好意思

  • #15 楼 @so_zengtao 啥时候回武汉啊

  • #19 楼 @xiaoronglv #18 楼 @teddy_1004 你们这种几个月顶我一年的人就不要来酸我了

  • #8 楼 @luoyegufei 好,有机会回武汉共事。

  • #4 楼 @zhuan 员工有老外,也有留学生。

  • #5 楼 @luoyegufei 在哪呢?迟早要回来的话不如早回。哈哈。如果愿意的话给发个简历呗。

  • #2 楼 @flemon1986 看百度统计,第一的是 chrome

  • #2 楼 @ywjno 岂止眼熟啊,实际也很熟,哈哈

  • 作为网化科技的一员,有幸经历了网化最艰辛的那段时间,也见证了自欧美贸易平台上线以来迎来的爆发性增长。之前待过一些公司,说句实话,这里是我这些年工作最开心的地方。两个小感受:

    1. 竟然没人在背地里说老板傻逼,老板在微信群里说话常常没人回(发红包除外)。这点跟我之前待过的公司真的不一样。跟 CTO 吵过嘴,当然是因为工作,作为一个脾气温顺的程序员能够毫无顾忌的跟上司争论工作,事后想想还是觉得蛮惊讶的。一个老板的气质决定了整个公司的文化,有很多公司会强调自己的企业文化是开放自由的,但是又有几个公司能真正做到让员工能够不去迎合上头的意思,而有独立的思考呢。

    2. 年会的时候我们一群程序员跟着海外事业部的妹子们去酒吧,嗨吧,人生第一次去酒吧(惭愧)。妹子们都很嗨,程序员都很“老实”的坐着看,但心里是骚动的。很多公司部门与部门之间是割裂的,但是在这里,即使是不同的部门,也感觉是一个整体。虽然 it 部门妹子少,业务部门的程序员鼓励师一样效果杠杠的。

    武汉的互联网环境虽然不如北上深这些一线城市,但光谷这几年发展极快,BAT 华为等也都在武汉盖了楼设立了研发中心,作为全国高校数量最多的城市,我看好武汉。虽然工资水准比不上一线城市,但是起码你的工资会比每平米房价高啊。不高的房价,慢节奏的生活,各种好吃的美食,吃喝玩乐之余悠然撸几行代码,这难道不就是人生的意义麽。 骚年,投简历吧,不会后悔。

  • scope namespace: 'xxx' do
      controller :xxx do 
      end
    end
    
    
  • 分析 Ruby 中的比较函数 at 2016年12月31日

    #2 楼 @xiaoping_rubyist 复杂么?js 才叫复杂且混乱吧

  • 前两天刚遇到过这个问题,哈哈。也是看了这个 issue 解决的。

  • #18 楼 @FrankFang 准确的说是因为 simple_form 独立写了套自己的 Form Builder,跟 Rails 自带的 form builder 不兼容。而大部分是熟悉 Rails 自带的这套的,所以基于自己掌握的东西去定制一个东西更容易吧。

  • 既然说到这里了,推荐一个我写的 gem,已在生产环境中大量使用,一直想放出了,只是没来得及写文档。 链接地址

    <%= default_form_for [:work, @company] do |f| %>
      <%= f.text_field :name, label: 'Company Name' %>
      <%= f.collection_select :country, @countries, :nation, :nation, { label: 'Country', prompt: 'Select Country' } %>
      <%= f.select :company_type, options_for_select(Company.options_i18n(:company_type), @company.company_type), { label: 'Company Type', prompt: 'Company Type' } %>
      <%= f.select :payment_method, options_for_select(Company.options_i18n(:payment_method), @company.payment_method), { label: 'Payment Method', prompt: 'Payment method' } %>
      <%= f.fields_for :contacts do |cf| %>
        <%= cf.email_field :email, label: 'Contact Email' %>
      <% end %>
      <%= f.text_area :comment, label: 'Comment'  %>
      <%= f.submit %>
    <% end %>
    

    我们代码里都很简洁,如果不用这个 gem,要实现图的效果,代码量至少要乘以 3

    效果图:

    最重要的,之前怎么写的 form_builder 和 text_filed 等,用了这个 gem 也就怎么写就行了,我的思路只是加上默认的参数。学习成本极低。

  • 我还一直以为是 ngrok 的问题,我之前用 puma 是可以极低概率成功的,大概 5% 的概率能不会报错。😫

  • #2 楼 @darkbaby123 恩恩,不带 tag 是基于 object,带 tag 是基于 object。在基于 object 的 form 中插入一个不基于 object 的 field 在这个 pull request 也得以实现了。

  • SSH 相关设置

    通过 ssh 连接至服务器

    • 将你本机~/.ssh/id_rsa.pub文件添加到服务器~/.ssh/authorized_keys

    设置 ssh 代理连接,即让服务器可以通过 ssh 连接以你的 ssh 配置使用 git 等服务

    • 配置本机 ssh, 配置文件为 ~/.ssh/config, 如果没有则新建这个文件,配置内容如下;
    Host 123.123.123.123 114.114.114.114
      ForwardAgent yes
    

    其中,Host 是你允许使用你本机 ssh 连接的服务器,如果有多个,用空格隔开

    • 确保你本机的 ssh-agent 服务已经启动
    echo $SSH_AUTH_SOCK
    
    • 允许 ssh-agent 使用你的 ssh key
    ssh-add ~/.ssh/id_rsa # 临时, 在mac中, 重启之后就失效了
    ssh-add -K ~/.ssh/id_rsa # 永久, for mac
    ssh-add -l # 检测是否添加成功
    

    远程服务器,test

    • 登陆到服务器,测试 ssh 连接,这一步很重要,否则将无法正常使用 ssh agent,这步将会将你测试的地址添加到服务器的 known_hosts 文件中
    ssh -T [email protected]
    

    参考资料

    SSH agent forward

    根据我的经验,你是这一步没做:远程服务器, test,这一步很坑。其他的 mina 的配置,楼上已经说了。

  • 已在京东提交了缺货通知。

  • # 把这行放到init文件里
    Time::DATE_FORMATS[:db2] = '%Y-%m-%d %H:%M:%S'
    
    # 也可以覆盖默认的
    Time::DATE_FORMATS[:default] = '%Y-%m-%d %H:%M:%S'
    
    # 然后
    created_at.to_s(:db2)
    #或者
    created_at.to_s
    
  • 找一位 Rails 指南合译人 at 2016年10月31日

    不论如何,这是促进 ruby 社区繁荣的好事儿。支持管理员置顶。

  • 那还不如用 jQuery, https://ruby-china.org/topics/31383, 我之前也跟你有一样的想法。如果不用 json 映射 data,vue 的效力不大。ujs 本身也是一个很好的组件化思路。

  • 我从 Vue.js 回到了 jQuery at 2016年10月22日

    #7 楼 @ch3rub1m 我分别用 angular.js 和 vue.js 做过纯前端项目,angular 是参与公司的,vue 是一个自己独立完成的。我的感受是,vue 项目的代码量是 angular 实现同样需求的 1/2 以下,加上 vue 入手比较简单,开发速度 3 倍左右。

  • 我从 Vue.js 回到了 jQuery at 2016年10月22日

    我用 vue 想实现的是一个比较常见且简单的场景: index 页面的列表,新增数据,刷新;

    我用 vue 的思路:1.create 方法调用后,递归组件增加内容;2. 直接把列表数据用 vue model-view 分离循环,然后 create 后返回列表数据。2 应该是更符合 vue 理念的。

    我开这个帖子也是想看看大家的讨论,@nong的观点我很赞赏,我也喜欢这种讨论问题的态度。楼上那些我的需求用不上 vue,什么场景不同的,我也想说的是这样的答案意义不大,有心的话也可以谈谈我这个场景为啥不适合 vue。

    我这样的场景,我用 vue 也未尝不可。只是我后来反思自己的这个技术选型,有些盲目追求新技术了。turbolinks + ujs 的理念已经足够领先了,而且非常简单,其实大部分单页应用都是可以这样来实现的。只是 ujs 跟 jQuery 搭配使用更合口。

    有很多做 rails 的兄弟一上来就把 turbolinks 禁掉了,又怎么能体会其精妙之处呢。

  • 我从 Vue.js 回到了 jQuery at 2016年10月20日

    #2 楼 @mizuhashi 感觉是略有点标题党,感谢你的介绍。