Home
Wade Ruby
Cancel

Rails After_save与after_commit

https://ruby-china.org/topics/29503 after_save:   对于 update, create 都会用到。 但是如果 该block中的代码抛出异常, 那么 这个save 就会取消。  所以,如果希望block中的代码不会影响到 save等操作,就要用 after_commit

Capistrano 一个脚本可以部署多个服务器

补记一下 # -*- encoding : utf-8 -*- require 'capistrano-rbenv' load 'deploy/assets' ssh_options[:port] = 33233 set :rake, "bundle exec rake" set :copy_local_tar, "/usr/bin/gnutar" if RUBY_PLATFORM.ma...

Ruby 使用grape来写接口

未完成 </span> 参考:  https://github.com/ruby-grape/grape#basic-usage grape 我在2012年的北京ruby聚会上就听到过了. 不过一直没有用.  今天刚好有机会看了一下.  安装:  Gemfile:  gem 'grape' 与Rails的结合使用: 1. 文件...

Ruby "\xe6"fromascii 8bittoutf的问题解决办法

今天早上遇到这个情况,我在提交一个最普通的查询form的时候, 报错。  这个一看就是rails 日志,在记录每个请求的时候,只要参数中有一些 对号  这样的东西,就会有问题。 /managements/members?utf8=✓&email=22&commit=查询 33 2019-05-07 07:25:49 +0800: Rack app err...

Rails 发送邮件的几点注意(usingsmtpsendingemail)

1. 普通的配置都默认在 production模式下发送邮件.  所以, 要确认,要么你的环境是 production环境, 要么在开发模式下也可以发送. 默认的development.rb中: config.action_mailer.raise_delivery_errors = true 2. 在application.rb 中,增加debug日志:</spa...

Rails 为rails消耗的内存做检测memoryleak检测工具derailed_benchmarks

参考:https://github.com/schneems/derailed_benchmarks 和 另外一种更牛的方式:https://collectiveidea.com/blog/archives/2015/02/19/optimizing-rails-for-memory-usage-part-1-before-you-optimize 安装: # 检测内存泄漏 gem 'd...

Linux 修改sudo的path

今天下午的教训:  做了好多修改,发现都不生效.  好神奇. 后来才知道, 是自己并没有 "成功"的重启Rails   . 卧槽我的时间啊...哎... 原因是rails应用是被root自动启动的.所以无法被我这个用户重启.权限不够.  参考:  https://askubuntu.com/questions/128413/setting-t...

Ruby 不错的密码生成工具:passgen

参考:  https://github.com/cryptice/Passgen 基本用法: >> require 'rubygems'>> require 'passgen'>> Passgen::generate=> "zLWCeS3xC9" 也可以加上参数: irb(main):006:0> Passgen::generate...

Ruby Loggerlevel,log_level的问题

我写在了yml 的注释中。。。 一句话: 无法使用INFO, 只能要么DEBUG, 要么WARNlog4r_config: loggers: - name : production # 注意,这里修改的没用 # 只能在 程序中 Rails.logger.level = 1 (情况A) # 或者 config/environments...

Ruby Rabbitmq,bunny与amqp入门快速入门,1小时吧

rabbitmq:  是消息处理服务器.     https://www.rabbitmq.com amqp:  advanced message queue protocel  . 有各种语言的实现, 包括ruby的.  https://github.com/ruby-amqp/amqp bunny:  对 rub...

Rails 配置项figaro

参考:  https://github.com/laserlemon/figaro 跟  rails-settings 很相似 用法: gem 'figaro' $ bundle exec figaro install 然后就会生成 config/application.yml host: 'localhost' port '3306' puts ENV['hos...

Rubynginx 系统的优化(rails,nginx,database)

参考  分析rails 的日志  http://siwei.me/blog/posts/analyze-your-rails-log 分析nginx 的日志  http://siwei.me/blog/posts/analyze-nginx-log-using-goaccess 分析数据库慢查询的日志: http://siwei.me/blog/posts/...

Ruby 一种新的写法var.method1&.method2和dig

参考:  http://mitrev.net/ruby/2015/11/13/the-operator-in-ruby/ ruby 2.3 之后,有这样的特性:  &. 和 dig.   总之, if account && account.owner && account.owner.address 可以写成: if a...

Ruby Rspec终极技巧:只运行某个testcase

参考: https://stackoverflow.com/questions/143925/how-do-you-run-a-single-test-spec-file-in-rspec 1. 只运行某个文件: $ bundle exec rspec spec/my_file_1_spec.rb 2. 只运行某个文件中的test case:   2.1 只运行一个te...

Totp 谷歌两步验证的原理以及rotp的使用

参考:https://blog.seetee.me/post/2011/google-two-step-verification/ 真正的ruby使用:https://github.com/mdp/rotp 貌似2011年就开始用了. 特点: 1. 相当于多了一个密码 2. 该功能在断网的时候也一样使用. 原理: 1. 手机端下载app 2. 用该app ,扫描网站提供的二维码. 这时,...

Ruby Windows下的2.3会提示找不到sqlite3native

如果遇到这个问题的话: 1。 卸载2.3  2. 安装2.2.6  3. 安装 ruby dev kit.  就可以了。 或者直接安装绑定了rubydevkit的高版本ruby, 例如ruby 2.4, 2.5, 2.6

Jwt 的注册和使用.jwt.io.特别适合webservice访问的一种技术方案

jwt 是一种取代 session/cookie的传统形式的 验证方式.参考:https://jwt.io 1. 注册: https://auth0.com/signup 注意,输入完用户名和密码之后,还要输入二级域名,选择自己是开发者还是公司等等. 2. 之后就可以看到,自己是个 free plan了 3. 新建 client, 输入名称等信息 4. 在settings 中设置相关信息 ...

Ruby Sinatra与thin的结合使用,部署sinatra

参考: 官方文档.http://sinatrarb.com/intro.html sinatra有两种方式:  1. classic(经典的一个 app.rb , 部署的时候直接 ruby app.rb)  2. modular   ,可以同时存在多个文件。 我最近的一个项目使用了经典的sinatra. 部署的时候遇到问题: 需要同时部署多个por...

Nginx 使用 proxy_pass之后,根据requestheader来获取真实地址

参考:   http://gong1208.iteye.com/blog/1559835 使用nginx 做反向代理之后,request.remote_ip (rails方法) 是无法获取该IP的真实来源的. 所以,一个思路,就是,在转发的时候,把真是的ip放到nginx 转发后的request header中. nginx 配置: location / { ...

Rails 多线程下的rails4的数据库连接问题

参考:  https://github.com/boazsegev/plezi/issues/15 ,    https://bibwild.wordpress.com/2014/07/17/activerecord-concurrency-in-rails4-avoid-leaked-connections/ 解决办法就是,增加一个 pool参数 : default:...