ruby on rails
文章平均质量分 70
haiyu柠檬
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Ruby On Rails 笔记6——常用回调上
回调允许你在对象状态发生变化之前或之后触发逻辑,它们是在对象生命周期某个确定时刻调用的方法。代码感受一下。原创 2025-12-08 10:14:37 · 355 阅读 · 0 评论 -
Ruby On Rails 笔记5——常用验证下
3.1 :allow_nil当验证值为nil时:allow_nil选项会跳过验证3.1 :allow_blank如果属性值为blank?,则跳过验证。3.3 :message允许指定验证失败时添加到errors集合中的消息,否则,会使用默认错误消息。Proc :message值有两个参数:正在验证的对象以及包含:model、:attribute 和 :value 键值对的hash。3.4 :onon 选项允许你指定验证发生时间。默认情况下设置的验证会在save时运行,可以原创 2024-12-09 18:02:47 · 533 阅读 · 0 评论 -
Ruby On Rails 笔记4——常用验证上
使用new方法实例化一个新对象时,这个对象尚未被保存到数据库中,直到对该对象调用save,它才会被保存到相应的数据库中。这些预定义验证提供了通用的验证规则,每次验证失败时,一个错误的消息会被添加进对象的errors集合中,这个error与正在验证的特殊属性相关联。验证属性是否只有数值。这个验证针对block,它没有预定义的验证函数,你应该使用block创建一个验证函数,传给validates_each的每个属性都将根据该函数进行测试。该验证器通过测试属性值是否匹配给定的正则验证,使用:with选项指定。原创 2024-12-09 18:01:42 · 1285 阅读 · 0 评论 -
Ruby On Rails 笔记3——表的增删改查
Rails 使用此时间戳来决定应运行哪个migration,以及运行的顺序,因此,如果要从其他应用程序复制migration或自己生成文件,请注意其在顺序中的位置,经常发生在合并代码的时候。A schema开始时什么都没有,每次migration都会对其进行修改,以添加或删除表、列或索引。如果你本地数据库和线上数据库不是完全一致,你就会发现运行完migration后schema.rb文件中也会用大量改动,这个时候你需要手动进去修改你需要的改动,把其他的改动恢复原样,然后才能提交。原创 2024-12-04 17:14:17 · 1188 阅读 · 0 评论 -
Ruby On Rails 笔记2——表的基本知识
原文链接自取。原创 2024-12-04 11:17:18 · 1151 阅读 · 0 评论 -
Ruby On Rails 笔记1——Rails 入门
突然想跟着官方文档把Ruby On Rails过一遍,把一些有用的记下来就可以一直看了,do它!注:官网是英文文档,我自己翻译了一下,不确保完全准确,只供自己学习开发使用。原创 2024-12-03 15:27:20 · 1073 阅读 · 0 评论 -
在Ubuntu 22.04上安装配置VNC实现可视化
接下来有点不一样了, 注意在你安装了VNC客户端的本地环境上比如电脑执行这条命令(比如我用的是VNC Viewer), 我是Windows系统,所以打开cmd执行下面这条命名 your_user_name就换成你Ubuntu上的账户,不能用root账户,your_server_id就是你Ubuntu的IP地址的。我用的是Putty, 在你的的your_server_id上切换成your_user_name, 然后右击Change Settings打开一个界面,这样配置一下,点Add->Apply.原创 2024-04-19 16:49:27 · 1650 阅读 · 0 评论 -
Ubuntu 上升级nodejs 版本
代码版本一直升级,需要升级nodejs的版本收到的错误信息:开整,查看我当前的node版本删掉旧版本项目里面用到的是node v18, 咱也准备升级到v18, 网上找了一圈,发现在linux上升级用NVM(Node Version Manager)最方便,原创 2024-01-12 16:57:21 · 1881 阅读 · 0 评论 -
Linux 上Redis 升级
意味着我需要升级redis-server。网上找到这个解决方式。原创 2023-12-19 14:18:02 · 852 阅读 · 0 评论 -
Sidekiq 如何处理异步任务
Sidekiq 是 Ruby 和 Rails 项目中常用的后台任务处理系统,其本身提供的 API 十分简洁,源代码也非常易于阅读,是一个轻量级的异步处理组件;虽然其本身没有提供太多复杂的功能,但是它的使用和部署非常简单。在这篇文章中,我们将对 Sidekiq 的实现原理进行介绍和分析。转载 2023-01-31 11:02:25 · 708 阅读 · 0 评论 -
如何停用Sidekiq Uniqueness
你有一些Sidekiq的job,并且设置了unique_for,然后系统崩溃了,在你的redis里仍然有这个唯一性的锁,但是job却不见了,导致后面的job也进不来,这个时候需要手动disable这个唯一锁。原创 2023-01-04 11:02:18 · 381 阅读 · 0 评论 -
安装Jenkins并在ruby中访问
安装Jenkins并在ruby中访问原创 2022-11-24 14:44:45 · 803 阅读 · 0 评论 -
Ruby中好用的判断true/false的类
直观感受一下:2.6.5 :001 > a="0" => "0"2.6.5 :002 > ActiveModel::Type::Boolean.new.cast(a) => false2.6.5 :003 > ActiveModel::Type::Boolean.new.cast(a) ? "yes" : "no" => "no"2.6.5 :004 > a="f" => "f"2.6.5 :005 > ActiveModel::T原创 2022-05-11 11:12:54 · 559 阅读 · 0 评论 -
check_box_tag 如何做到被选中返回1,未选中返回0
背景介绍:首先由于某种原因不能使用check_box,只能使用check_box_tag,check_box_tag 有个属性value, 如果写“1”那就在选中后返回1,如果没有选择就啥也没有了,那么如何实现选中返回1,没选择返回0呢?首先check_box是可以做到的,我们可以看看它是啥check_box (ActionView::Helpers::FormHelper) - APIdockhttps://apidock.com/rails/ActionView/Helpers/FormHelp原创 2022-05-07 17:13:44 · 902 阅读 · 0 评论 -
给某条audit添加comment
背景介绍:项目在ruby里配置audits用于记录一些改动,详见https://github.com/collectiveidea/audited#auditedhttps://github.com/collectiveidea/audited#audited前端有个按钮经常被启用/禁用,可以通过audit查看每次谁做了修改,但是没有原因,想知道谁为什么要这样做还需要找到那个人问,这个时候需要添加一个弹窗,每次点那个按钮的时候弹出来,让你写下原因。——————————————————————————原创 2022-04-28 15:38:04 · 905 阅读 · 0 评论 -
如何让dropdown一直显示
这是一个dropdown-menu,如果我点了某条, 它就会消失 ,例如 如果我点了"Remove from Compare", 这个下拉就会消失,然后你需要再次点击 'Build Comparision'。但是我操作还没有完成呢,要怎么让这个下拉列表一直保持不动,而不是点了其中某个条目就消失掉了?可以使用"stop propagation"例如:<ul class="dropdown-menu keep-open-on-click">$(document).on('cl原创 2022-04-22 16:41:56 · 1379 阅读 · 0 评论 -
Ruby中使用dependent: :delete_all的小陷阱
在Ruby中关联删除很好用:例如在build.rb文件定义 has_many :ecl_baselines, dependent: :delete_all当删除该build时,就会关联删除那些将build_id设置为当前删除的build的ecl_baselines。例如:=> #<EclBaseline id: 1238812, build_id: 5858767, ecl_build_id: 5857117, created_at: "2021-08-02 05:31:24.0原创 2022-04-22 15:54:01 · 561 阅读 · 0 评论 -
为什么同一个ruby文件中无法传送变量
背景介绍:定义了一个/root/haiyu/jenkins.rb 文件,用来控制jenkins的相关操作,其中定义了两个方法:_prepare_start和_run在_prepare_start里定义了一个变量 @testu,并且可以保证_prepare_start会运行在_run之前,但是在_run里面怎么也得不到@testu。原因很简单,但是有时候很容易忽略。略记一下,谨防犯傻的你~in /haiyu/jenkins.rb 29: 30: def _prepare_star原创 2022-04-22 15:25:11 · 781 阅读 · 0 评论 -
使用JenkinsApi::Client获取Folder下的job
一般来说使用JenkinsAPI可以通过点击右下角的Rest API 就可以了REST APIMany objects of Jenkins provide the remote access API. They are available at/.../api/where "..." portion is the object for which you'd like to access.XML APIAccess data exposed inHTMLas XML for mac...原创 2022-04-21 13:19:22 · 1434 阅读 · 0 评论 -
在Ruby上使用sidekiq实现定时任务
背景介绍:本实现基于sidekiq已经正常安装并且已经在项目里使用了,只记录一下怎么启动运行。代码采用Ruby实现,功能是在前端调用Jenkins job,具体的Jenkins调用方法不做深入描述。具体可以参考Home · mperham/sidekiq Wiki · GitHubhttps://github.com/mperham/sidekiq/wiki功能展示:前端状态会随着调用的Jenkins job的状态自动更改代码实现:#1. config/initializers/.原创 2022-04-08 10:39:19 · 600 阅读 · 0 评论 -
在Ubuntu 18.04上安装配置VNC实现Spinach测试可视化
背景介绍:写Ruby时候有些前端信息需要测试,可以使用Spinach测试,但是运行起来后看不见前端页面的实际变化情况。所以安装配置VNC来实现可视化。首先查看一下自己的系统:(看到我是Ubuntu 18.04)# lsb_release -aNo LSB modules are available.Distributor ID: UbuntuDescription: Ubuntu 18.04.3 LTSRelease: 18.04Codename: bio原创 2022-02-24 17:52:43 · 1068 阅读 · 0 评论 -
RSpec 实例详解(译)
原文链接:https://www.rubyguides.com/2018/07/rspec-tutorial/你想学习如何使用RSpec为Ruby应用程序编写测试用例吗?那你来对地方了!在本教程中,我将想你展示如何去做。一、为什么要编写测试用例?它建立了一个防止错误的安全网,如果你没有完善的测试系统,你不敢轻易修改代码,因为可能会破坏一些东西;它会提升你的自信心;它能帮助你记录代码,你的测试描述了程序功能;它可以给你反馈,它可以确保代码产生预期的结果。如果你想写一些复杂的翻译 2021-01-13 15:11:59 · 893 阅读 · 0 评论 -
VScode 使用SSH远程开发Ruby
背景介绍:一开始使用Sublime Text3本地开发ruby代码,然后在Linux上启动,使用byebug调试。后来因为Sublime收费,不得不换个免费版本,就找到了VScode,并且它还支持SSH远程开发下载安装VScode官网教程可以参考一下Remote Development using SSH一,SSH环境搭建1.1 安装SSH 服务器端和客户端,确保两个机器可以链接我本地是Win10, 安装OpenSSH Client(系统自带了),linux上也没有特别安装server原创 2020-11-19 14:31:01 · 843 阅读 · 0 评论 -
手把手学ROR四——代码调试
写代码,调试是必不可少的,对于ROR,网上很多调试方法,官方传送门1. debugger 首先讲一下比较火的 debugger,中文使用方法献上如果你的Ruby版本比较低,那还是可以使用的,这里说2.x的版本已经不支持debugger了。“Ruby 2.x is not supported by thedebuggergem and you should usebyebuginstead.”官网可以看到我们可以使用byebug。首先安装一下,执行命令gem install...原创 2020-06-09 15:36:14 · 394 阅读 · 0 评论 -
手把手学ROR三——Rails的代码方式
上篇文章中说到可以在public里面写脚本执行,我们可以把一切文件都放进public里面,但是就失去了架构感了。我们用ROR的方式怎么写?文件中的各项文件主要功能大家可以参考这里:传送门官方文档可以参考这里:走起~ 什么是Rails的方式 如图所示,一个请求进来后,首先由路由部分的代码分发给相应的controller,controller去选择相应的模板文件,最终相应这次请求。数据处理部分的代码可以放在model中,处理后的数据可以传递给controller。 2. 将我们的.原创 2020-06-02 19:03:04 · 517 阅读 · 0 评论 -
手把手学ROR一——Ruby on Rails在Linux上的环境搭建
第一次接触Ruby on Rails, mark一下1.准备好自己的环境。我是直接在cloud上划拉了一块地方,用的Ubuntu的系统。root@haiyu-personal:~# uname -aLinux haiyu-personal 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux2.安装ruby2.1 设置代理。我的机器需要设置代理,在文件下原创 2020-06-01 10:06:50 · 876 阅读 · 1 评论 -
手把手学ROR二——创建一个 rails项目
上一篇文章中搭建好了ruby on rails 的Linux环境,代码编写工具看个人喜欢。是用IDE还是使用VIM 都是可以的。今天这边记录一下如何创建一个新的项目,官方步骤可以参考here1.在工作目录下执行,新建一个ROR的空工程 rails new meetup -d mysql执行可能会报错,提示你没有装xxx,点进去log里面查看,看看缺啥装啥装好之后可以进去meetup 文件中使用命令 “vim Gemfile”查看文件,里面是项目用到的一些包2.执行命令ra..原创 2020-06-01 16:50:00 · 442 阅读 · 0 评论
分享