声音太小听不清楚。。。等事后高清版了。。。
https://www.zhihu.com/question/36292298/answer/160028010 我就说这 ID 看着眼熟...
RailsUJS 是 GSoC 的项目(就是说是学生写的啦),作者也在论坛里的(不过不知道是不上了还是潜水)
我想等 5.1 和 BS 4b 发布后搞搞事,刚看了下那边,beta1 的 milestone 又退回 90% 了。。。
不会是要憋到会上发 5.1 吧...
还可以用 apipie 的 比 markdown 集成度高,比 swagger 轻量很多
conemu 不太好用
啊 另外建议升级到 Rails 5 来做后续的学习,即将发布的 Rails 5.1 的变化还是挺革命性的,上一次革命性变化还是五年前的 Rails 3.1。
楼主再研究一下为网站挂上 SSL 吧,现在 HTTPS 属于标配了,当应用作为 iOS 应用的后端服务的时候也强制 HTTPS 方式连接。这个可以通过购买商业证书,或者免费的 Let's encrypt 来解决。另外,上 HTTPS 之后,类似 HSTS 之类的应用层的安全技术,还有浏览器里的混合内容之类的知识点也会浮现出来,如何提高网站 SSL 的强度也是一个话题。
部署的话,如果不使用 Docker 方案,Rails 世界最常用的是 Mina 或 Capistrano,话说虽然后者也是 Ruby 写成,但并不是 Rails 专利,很多 PHP、Python 甚至 .Net 应用,都由它部署。论坛里相关的文章很多,可以搜索一下看看。
然后还有大坑,运维。
这样整套网站部署运维的体系就算全了
恩?介绍下?
去年有几个讲师都没拿到,我留在储物间的,不知道被谁给拿走了
一楼真相了...
我已经在搞今年活动的事情啦,设计师差不多也要进入状态咯 @cassiuschen
这可是 QQ 群网红,人气不差的,况且那些群里技术骨干甚至是负责人不少的,喊了一年换工作了,随便谁推下肯定不愁的,那找不到工作还是自己的问题,顺带本尊是这个 ID @Artoria
win10 直接 WSL
Class.new
有个缺点是不会有类名,(可能)会导致 Model 的类成员 model_name
属性构造失败,用父类的就可以了,这算是个坑吧
这个方法的好处是你可以通过写标准的模型验证器(Validator)来做数据的验证工作。关联表的验证可以封装逻辑在里面
看你的业务复杂度、设计负载、团队成员数量背景、团队分工协助模式、项目规划 等等因素
什么语言技术多复杂多简单都是可以解决问题的
只接打开类来做应该也 ok 的,这块设计挺 oo 的
好多项目用 simple_form
,没记错的话错误信息提示的处理它管了,这个应该会降低改进这块 API 的价值,可能需要先了解下视图层的 FormHelper 类 gem 是如何跟模型的 Error 对象互动的,然后在 Error 对象上做文章,使得他方便定制,也能让那些 FormHelper 库利用上你的改进
当然你提出的问题确实是普遍需求,我经手过的项目一般都通过写特定的 helper 来搞定了
怼你干啥。。。抖个机灵而已。。。
只谈标题哈,思维方式变一下,为什么要用 gem(或者 jar 包或者什么语言什么库)?
是我想做 XXX,经过分析我发现要解决 A、B、C、D 四个子问题,经过 Google、被人安利、各种方式求助,发现 α gem 可以解决 A,B 可以通过 β gem 解决 B,C 要扩展下 γ gem,D 研究了一下得自己写了... 然后我把这些代码串在一起组织好,写好测试,交差,刷论坛去...
最喜欢这种文章了... Google Driven Development(GDD) friendly
sudo 不应该有问题的... 最好把你在终端里的操作都贴过来。
不过,不建议你这样做,推测你读的文章太老了,而且 nginx
对于开发环境是没有必要的,请参考论坛 wiki 里的 如何快速正确的安装 Ruby, Rails 运行环境
第一点我可以提供一个思路(我最近刚好为公司做了类似金数据的动态表单系统):
validates
是公开的类方法,也就是说允许类似 User.validates :name, presence: true
的写法为模型增加验证(其实这条是废话)
所以可以在运行时通过这种手法为模型增加新的行为(验证、虚拟字段等等咯)
但是 models
里的我们定义的模型的生命周期是跟 APP 的生命周期一致的,所以不可以直接操作他们
所以需要一种手法来动态创建类型,参见 Class.new,于是有
new_user_class = Class.new(User)
new_user_class.validates :name, presence: true
new_user = new_user_class.new user_params
new_user.validate
但其实这样是雅蠛蝶的,因为会被 AR 内部的一些细节坑,比如 STI
ActiveType ! 他甚至贴心的为你提供了 class SignUp < ActiveType::Record[User]
的这种方法
两者结合,问题解决,前端不需要做任何改动~
一般场景 ActiveType 足够用了(虽然我就在原型阶段用了,而后就用自己写的换掉了,因为 AT 不太满足某些复杂需求的需要吧)。
第二点,模型上的验证器是把数据库的约束挪到应用层面做的,引入 warning 就违背验证器的精神了,但其实变通一下就可以用 AR 本身的机制解决, validate
操作是可以提供 context
的,参考 http://blog.arkency.com/2014/04/mastering-rails-validations-contexts/ (链接我随便 google 的,我自己没总结过文章)
sorry 我也没仔细去看 SO 的答案,这个我之前也没注意过的
你的 Ruby 版本是多少?是否方便试试升级到 2.4.1
(对正则引擎有了一些改动)
我用你的样本(MRI 2.4.1
)没有复现出来的。
[1] pry(main)> foo = '你好'
=> "你好"
[2] pry(main)> regex = /#{foo}/
=> /你好/
[3] pry(main)> Regexp.new foo
=> /你好/
给你和 @huacnlee 预定好今年的大会的主题分享了啊!
其实我也是觉得自己什么都能干(最近学了个名词叫面向工资编程...),也自我感觉基础知识不扎实。
但我属于运气好的,没有为工作发愁过。我觉得关键因素(不谦虚的讲)是有能够证明自己的东西,比如给 Rails 贡献点代码,(前)Doorkeeper 项目成员,组织 RubyConf 和一些线下活动...在各种社区刷脸、在公司同事面前树立威望等等...
当然,既然评估自己基础知识不扎实,那想办法补足也是跨越的一个必须过程啦
所以之前我有回复薪资真的是运气问题,据我所知很多大牛的收入并不匹配他们的能力的,知足就好~