@ad583255925 @yukihiro_matz
目前项目用的是 AWS ECS + CircleCI 来部署,负载均衡是 ELB
能说下为什么要禁止使用 stylesheet_link_tag 吗? 把背景说清楚,或许有更好的方法来解决
应该是,不过很少那样写,用 . 就可以了
The :: is a unary operator that allows: constants, instance methods and class methods defined within a class or module, to be accessed from anywhere outside the class or module.
Remember: in Ruby, classes and methods may be considered constants too.
这篇文章可以看看
https://cbabhusal.wordpress.com/2015/03/26/ruby-ruby-dot-and-double-colon-operators/
暂时把 cell 的 render 改成了 rails 的 render
class CellBase < Cell::ViewModel
attr_accessor :response_body
include AbstractController::Rendering
include AbstractController::Helpers
include ActionView::Layouts
helper ApplicationHelper
include ApplicationHelper
self.view_paths = ['app/cells']
def self.supports_path?
true
end
def action_name
caller(5, 1)[0].match(/`(\w+)/)[1]
end
# 让view中可以访问cell class里面的方法
def self.inherited(klass)
def klass.method_added(name)
helper_method(name)
end
end
end
有类似的
module Gender
FEMALE = 1 # 女性
MALE = 2 # 男性
LABELS = { FEMALE => '女性', MALE => '男性' } # 也可以使用I18n来定义
end
Gender::FEMALE
Gender::MALE
@posee 我以前半年,现在一年,因人而异吧
@Rei
目前我也是这么想的,因为感觉这个 gem 不太稳定 (突然设计风格就变了)
只是目前所有页面都是 cell 写的,这改造的活量有点大
所以问问看有没有类似问题的人,借鉴一下经验
@Rei
我用的 docker-sync, 速度还行
https://ruby-china.org/topics/37289
@luikore
第一次做 responsive 的项目
确实和 UI 设计关系很大,有些设计不适合或者很难做 responsive
换个角度说要做 responsive,你需要 responsive 的 UI 设计,一开始就和做 UI 的达成共识很重要
@charleszhang 日语,日本人英语不行。我英语也不行,不过欧美在日本的公司应该是用英语
@Rei
stimulus 好像不行?没具体试
https://github.com/stimulusjs/stimulus/issues/59
看这里说好像需要 5.1 以上
很多项目是 rails5 以下的,对于一个正在运行的项目,要升级到 5 不是容易的事情
rails 5 以上的项目我想我会尝试使用 rails-ujs + turbolinks + stimulus
@rocLv 没全部试,基本都有,个人最喜欢的是 auto complete 其他的随意吧
我也在东京上班,帮你顶一个
好像很早就支持了?看了下目前使用的版本 2016.2, 也支持这个特性
这样分文件的话 要注意配置一下 eager load path
能详细说一下吗?目前用的是 rails 4.2,没有进行其他配置
是这类问题吗? https://blog.arkency.com/2014/11/dont-forget-about-eager-load-when-extending-autoload/ https://stackoverflow.com/questions/48538755/eager-load-all-classes-before-routes-rb-being-loaded
asset 文件的 hash 值从 manifest file 读取的
可能是你服务器没有上传这个文件
一般是这样 public/assets/manifest-xxxxxxxx.json
具体可以参考这里
https://guides.rubyonrails.org/asset_pipeline.html#manifest-files-and-directives
不清楚你云端什么样子,前面几楼也说过了,这种文件应该不用加入到版本控制,一般放到 CDN
某个字段需要限制为 50 个字符,很多时候需要在多个地方定义相同的规则
比如比较常见的地方
我目前为止是在三个地方都写相同的规则,感觉确实比较繁琐
但是因为他们处于不同的层 (layer) 里面,分离是必然的
以前有想过定义一个 validation 的验证规则放到 json 之类的文件里面
然后写个 script 自动生成相关的代码,但感觉有点麻烦就放弃了
不知道大家有什么好办法
每个数据库不同,比如 mysql 限制了一个表的最大字段数为 4096
当然由于有 row limit,可能达不到这个数
具体可以参考这里
上百个字段的表目前还没没遇到过,即使是上百个字段也不能说一定不合理,
合理不合理跟你保存什么内容、如何使用等等有关
我觉的应该首先分析这个表 50 个字段导致了哪些问题让你感觉不合理
分析完以后才能判断是不是真的不合理
如果知道是如何变成这样的那就更好,有时候知道原因以后或许有种原来如此的感觉
解决掉不合理的问题,应该就变成了合理了 (暂时)
刚开始记住这一个感觉就够了
command + shift + a
在这里查询需要的功能就行了
@fan124
如果使用自带的已经可以满足你现在的项目的话,没必要在使用其它的
我使用 docker 自带的看一个页面大概需要 25 秒,实在太慢
慢的原因帖子里面已经介绍 (osxfs 的原因)
以前用 vagrant 大概是 4 秒,现在用 docker-sync 大概也是 4 秒
@ fan124
我用 docker-sync 时,同步会有延迟
目前还没发现延迟,我在 mac 改完保存以后刷新页面就更新了,IDE 的话可能是还未自动保存
用 watch 命令来观察延迟,基本未发现延迟
watch -n 1 cat test.rb
container 里 rails g 出来的东西,不会在 local 出现
还没试过,等会试下,重启 docker 是一种方法 也可以试试这个
$ docker-sync clean
$ docker-sync start
推荐用官方的 cached
services: app: volumes: - .:/www/sample_project:cached
这个在 mac for docker 下太慢,没具体测试,感觉慢了十倍,基本没法用,所以才有这篇文章
很多在 mac 下用 docker,不想再搞个虚拟机的可以参考下
docker or vagrant 让 rails 跑在 linux 上
然后在 windows 还是在 mac 上应该关系不大,毕竟实际运行在 linux 上 (windows 没跑过,也许有其他坑)
最近前端用的 vs code(react + webpack), rubymine 感觉支持不太好
vs code 目前感觉挺好,比如 webpack 的 resolve 很多 editor 都不支持
vscode 设置一下就行了
https://medium.com/@justintulk/solve-module-import-aliasing-for-webpack-jest-and-vscode-74007ce4adc9
写的挺好
https://ruby-hacking-guide.github.io/gc.htm
这个网页不知道为什么打不开 (404)
https://gettalong.org/blog/2017/memory-conscious-programming-in-ruby.html
这里有一些节约 memory 的技巧
感觉掌握一些基本的技巧就行,需要的时候再去 tuning
有时候花时间去和内存战斗不如给服务器加点内存划算 (人工费之类的)
高级语言就是让大家不用在意内存管理一次来提高生产效率,
如果不得不花大量时间去调试内存使用量的时候,也许 ruby 不适合这个项目?
比如把慢的模块用 C 之类的重写
试了下,发现 class method 也可以这样用
def self.func_a
puts 'func_a'
end
private_class_method :func_a
private_class_method def self.func_a
puts 'func_a'
end
class Test
class << self
private
def func_a
puts 'func_a'
end
def func_b
puts 'func_b'
end
end
end
还是喜欢第一种写法,类里面写一个就行了,一般都喜欢放类最后面
class Test
private
def func_a
puts 'func_a'
end
def func_b
puts 'func_b'
end
end
quora 什么有相同的问题,可以参考下 https://www.quora.com/What-is-the-best-way-to-read-the-source-code-of-Rails
Amazon Redshift
Google Bigquery
以前做 Advertising network 系统的时候用过,挺好