办公环境很赞,技术氛围很赞,在老东家薄荷养成的写博客的习惯自从离开薄荷回老家之后就再也没捡起来了。
搭便车也推荐个我写的小工具: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 后自己改一下。
不错,正想找个。
如果确实对那份工作感兴趣,可以多发几封邮件催问。我现在的公司就是我发了数封邮件催问 hr 后,hr 总监督办的。还导致这个 hr 给公司留下了不好的印象,后来被劝退,有些 hr 就是不够负责任的,或者确实忙。
faker 大坑,用了之后测试奇慢
可以负责任的告诉你,不会每次重装一遍新的。
#15 楼 @so_zengtao 啥时候回武汉啊
#19 楼 @xiaoronglv #18 楼 @teddy_1004 你们这种几个月顶我一年的人就不要来酸我了
#8 楼 @luoyegufei 好,有机会回武汉共事。
#5 楼 @luoyegufei 在哪呢?迟早要回来的话不如早回。哈哈。如果愿意的话给发个简历呗。
#2 楼 @flemon1986 看百度统计,第一的是 chrome
作为网化科技的一员,有幸经历了网化最艰辛的那段时间,也见证了自欧美贸易平台上线以来迎来的爆发性增长。之前待过一些公司,说句实话,这里是我这些年工作最开心的地方。两个小感受:
竟然没人在背地里说老板傻逼,老板在微信群里说话常常没人回(发红包除外)。这点跟我之前待过的公司真的不一样。跟 CTO 吵过嘴,当然是因为工作,作为一个脾气温顺的程序员能够毫无顾忌的跟上司争论工作,事后想想还是觉得蛮惊讶的。一个老板的气质决定了整个公司的文化,有很多公司会强调自己的企业文化是开放自由的,但是又有几个公司能真正做到让员工能够不去迎合上头的意思,而有独立的思考呢。
年会的时候我们一群程序员跟着海外事业部的妹子们去酒吧,嗨吧,人生第一次去酒吧(惭愧)。妹子们都很嗨,程序员都很“老实”的坐着看,但心里是骚动的。很多公司部门与部门之间是割裂的,但是在这里,即使是不同的部门,也感觉是一个整体。虽然 it 部门妹子少,业务部门的程序员鼓励师一样效果杠杠的。
武汉的互联网环境虽然不如北上深这些一线城市,但光谷这几年发展极快,BAT 华为等也都在武汉盖了楼设立了研发中心,作为全国高校数量最多的城市,我看好武汉。虽然工资水准比不上一线城市,但是起码你的工资会比每平米房价高啊。不高的房价,慢节奏的生活,各种好吃的美食,吃喝玩乐之余悠然撸几行代码,这难道不就是人生的意义麽。 骚年,投简历吧,不会后悔。
scope namespace: 'xxx' do
controller :xxx do
end
end
#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/id_rsa.pub
文件添加到服务器~/.ssh/authorized_keys
~/.ssh/config
, 如果没有则新建这个文件,配置内容如下;Host 123.123.123.123 114.114.114.114
ForwardAgent yes
其中,Host 是你允许使用你本机 ssh 连接的服务器,如果有多个,用空格隔开
echo $SSH_AUTH_SOCK
ssh-add ~/.ssh/id_rsa # 临时, 在mac中, 重启之后就失效了
ssh-add -K ~/.ssh/id_rsa # 永久, for mac
ssh-add -l # 检测是否添加成功
ssh -T [email protected]
根据我的经验,你是这一步没做:远程服务器, 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
不论如何,这是促进 ruby 社区繁荣的好事儿。支持管理员置顶。
那还不如用 jQuery, https://ruby-china.org/topics/31383, 我之前也跟你有一样的想法。如果不用 json 映射 data,vue 的效力不大。ujs 本身也是一个很好的组件化思路。
我用 vue 想实现的是一个比较常见且简单的场景: index 页面的列表,新增数据,刷新;
我用 vue 的思路:1.create 方法调用后,递归组件增加内容;2. 直接把列表数据用 vue model-view 分离循环,然后 create 后返回列表数据。2 应该是更符合 vue 理念的。
我开这个帖子也是想看看大家的讨论,@nong的观点我很赞赏,我也喜欢这种讨论问题的态度。楼上那些我的需求用不上 vue,什么场景不同的,我也想说的是这样的答案意义不大,有心的话也可以谈谈我这个场景为啥不适合 vue。
我这样的场景,我用 vue 也未尝不可。只是我后来反思自己的这个技术选型,有些盲目追求新技术了。turbolinks + ujs 的理念已经足够领先了,而且非常简单,其实大部分单页应用都是可以这样来实现的。只是 ujs 跟 jQuery 搭配使用更合口。
有很多做 rails 的兄弟一上来就把 turbolinks 禁掉了,又怎么能体会其精妙之处呢。