我先换成 rollbar 了,暂时没发现无法访问的问题
结果我的 Rails 版本为 7,sentry-raven 没法正常工作
找到问题了,docker-hub 里那个 Sentry,是 sentry9,要配合的 GEM 是'sentry-raven',而不是'sentry-ruby'和'sentry-rails',虽然装的时候会提示 sentry-raven 已经过时了,但是切成这个就不会 CSRF 了
这个别提了,装 debian 折腾死了。到处进 Dockerfile 改源,你怎么装的,而且 16G 内存监控错误日志,确实是太奢侈了
这个价格怎么样,有没有墙的问题
老实讲看 unless 的时候,脑子经常会别一下
上线前,UI 跑过来,“这里帮我挪 2 个 px,再把这个边距调整一点点”,就这样跟你磨一个下午,这时候你用 tailwind 就很蛋疼了
我是越来越倾向于 React 和 Vue 这种主流前端框架了,原因就是你要个什么组件都有十几种选择给你
如果你们是有 UI 设计师存在的正规团队,强烈不推荐 Tailwind
document.addEventListener('click')
react-rails 自带预渲染模式的,我记得是加一个 prerender: true 就行了
没啥好争论的,当你发现传统项目前端实现某些功能开始有些吃力的时候,自然会去用 React/Vue,否则则不需要
status == 'WAIT_COMMENT' && check_form.update(archive_score: sum, higher_content: params[:higher_content])
目前这事在国外人眼里是这样的
肖战是一个有性别认知障碍的,敢于出柜的年轻明星,出柜后粉丝们不能接受,把 ao3 给搞了,与此同时,肖战不幸染上新冠病毒后去世,R.I.P 肖战
gcd 应该不会查到这里来吧。
对于这种直接报在内置组件里的错,就暂时别找原因了,等下个版本应该自己就好了。
你是不是用 typescript 和 react 了,前两天我碰到过
打开 babel.config.js,找到
// isProductionEnv && [
// require('babel-plugin-transform-react-remove-prop-types').default,
// {
// removeImport: true
// }
// ]
注掉
不把赌戒掉,做什么都是徒劳的
直接淘宝买一张
# @param {Integer[]} nums
# @return {Void} Do not return anything, modify nums in-place instead.
def next_permutation(nums)
need_sort = true
(0..nums.length - 1).reverse_each do |i|
if nums[i - 1] && nums[i] > nums[i - 1]
ex_num = nums[i..-1].sort.find {|n| n > nums[i-1] }
ex_index = nums.index.with_index {|n, j| j > i - 1 && n == ex_num}
nums[i-1], nums[ex_index] = nums[ex_index], nums[i-1]
nums[i..-1] = nums[i..-1].sort
need_sort = false
break
end
end
nums.sort! if need_sort
end
卧槽。
以前刚看完 ruby 元编程,各种 method_missing, define_method, class_eval 都拿来码业务,不知道现在接手的伙伴什么想法,希望不要打死我
嗯,原则上不应该放,但是本身安全层面也不靠这个,有 https 保护伞,放进去也没什么问题,鉴权的时候前端任何篡改都通不过 jwt 验证的,除非私钥泄漏
第一次请求服务器的时候,把 CSRF token 拿过来
stone egg 可还行。
https://ruby-china.org/topics/38175
DZ,你看看这个你们用的上吗哈哈
前后分离
static VALUE
enum_max_by(int argc, VALUE *argv, VALUE obj)
{
struct MEMO *memo;
VALUE num;
rb_scan_args(argc, argv, "01", &num);
RETURN_SIZED_ENUMERATOR(obj, argc, argv, enum_size);
if (!NIL_P(num))
return rb_nmin_run(obj, num, 1, 1, 0);
memo = MEMO_NEW(Qundef, Qnil, 0);
rb_block_call(obj, id_each, 0, 0, max_by_i, (VALUE)memo);
return memo->v2;
}
Array#max确实是c实现的
https://ruby-doc.org/core-2.5.1/Enumerable.html#method-i-max
如果我想要继承 Post 的所有字段和方法,这样子是不行的吧,而且 belongs_to 的模型多了之后,可能会混在一堆声明里面,无法直接知道这个是哪个模型的表单抽象类,后面维护起来会不会有点问题
class VirtualPost < DuckRecord::Base[Post]
attribute :post_id, :integer
belongs_to :post
end
如果能这样用就更好了
菜鸟问个问题,虚拟模型最终还是要和真实的 ActiveRecord 做关联,把 form 里面的内容写进数据库,你的 form_core 用的 duck_record,如何声明和真实 ActiveRecord 之间的关系,说白了就是 virtual_model 和 real_model 之间的关系,怎么处理