Below you will find pages that utilize the taxonomy term “Ruby”
Posts
生产环境内存泄露分析
项目基础架构: Java+gRPC+Rails 因生产环境频繁出现宕机的情况,平均一周需要重启下服务器,这谁顶得住啊。。这个问题必须解决。在开始分析问题之前,我们先重启一次
Posts
Sidekiq后台任务的简单配置
reference: sidekiq官方文档 ruby-china sidekiq-cron 1.本地安装redis,macos这里使用homebrew安装 => brew install redis To have launchd start redis now and restart at login: brew services start redis Or, if you don't want/need a background
Posts
使用vscode如何来debug Rails应用
debugging-Ruby-on-Rails参考链接 前提条件 需要安装 vscode-ruby插件 ruby v2.x版本,安装 ruby-debug-ide 和 debase Gemfile中添
Posts
Rails自定义日志文件存储位置
参考链接 1.日志级别 level: :debug, :info, :warn, :error, :fatal 和 :unknown,分别对应数字 0-5。 使用 Rails.logger.level 可以查看当前环境的日志级别 pry(main)> Rails.logger.level => 0 Rails 所有环境的默认日志等级是 d
Posts
Rails从对象或者hash中获取、去除某些属性
1.在ActiveRecord中获取指定属性值,slice会获取指定属性后再转换成hash 通常的做法 class Permission < ApplicationRecord has_and_belongs_to_many :role_tpls def to_json { resource: self.resource, status: self.status, name: self.name, allow: self.allow } end end
Posts
Rails中try的用法
我们经常会遇到的下面的场景: @person && @persion.name # 需确保@person不是nil,否则会报错 NoMethodError: undefined method `name' for nil:NilClass 用 try 改写: @person.try(:name) # 如果@person为nil则返回ni
Posts
Ruby中神奇的&符号
这里的 magic 是 & 把 plus1 变成 Block 发给数组了,Block 也就是我们常见的 {} [1,2,3,4].map {|x| x + 1} =>[2, 3, 4, 5] 等价于: [1,2,3,4].map &Proc.new{|x| x + 1 } =>[2, 3, 4, 5] 注意如果没有 & ,解释器在调用 map 时
Posts
Ruby中||=符号理解
原文链接 我们经常看到这样的代码: def current_user @current_user ||= session[:user_id] && User.find(session[:user_id]) end 短短一行代码,却含有很多逻辑,以前老是搞混,这里总结一下。 这句代码相当于: def current_user if @current_user return @current_user else if session[:user_id]
Posts
Ruby中冒号代表的意思
Stack Overflow原文 问题: 1) abc: 2) :xyz 3) abc::xyz 4) abc: :xyz 5) abc: xyz 6) :abc => xyz 答案: 1) abc: #不能单独存在 2) :xyz # xyz是符号 :xyz.class => Symbol 3) abc::xyz #命名空间(模块) 例子: module ABC
Posts
Rails中建立AR模型的关联关系
参考链接 Rails AR模型中支持的六种关联: belongs_to (一对一,属于xx,在此模型添加xx外键) has_one (一对一,拥有xx,在xx模型添加自身外键) has_many (一对多,在
Posts
Rails集成axlsx实现导出excel功能
axlsx-rails的github地址 首先在Gemfile文件中添加依赖: gem 'rubyzip', '>= 1.2.1' gem 'axlsx', git: 'https://github.com/randym/axlsx.git', ref: 'c8ac844' gem 'axlsx_rails' 然后下载依赖,执行命令: bundle install 在contr
Posts
梳理与ruby相关的rvm、gem、gemfile、bundle、rails等各种概念
因为公司项目用到ruby的mvc框架rails,开始看项目也是一头雾水,不知道项目中的各个文件是干嘛的,经过查阅资料