标签:Ruby
Rails学习-使用turbo-rails时的一些问题
Rails7 开始默认使用 importmap 作为 javascript 依赖的管理工具(类似于npm) 1. 生成的项目工程目录下的bin目录中没有importmap命令 2. turbo-rails貌似没有被引入项目中(直接创建项目工程后没有进行相关配置) 安装turbo-rails 1. 安装importmap…
Rails学习-迁移方法
change方法 Rails用于匹配迁移名称的两个模式分别是: add_xxx_to_xxxTable 和 remove_xxx_from_xxxTable , 其中 xxx 的值会被忽略掉,迁移名称之后的字段名和类型列表才是Rails获取字段信息的地方 1. 添加字段 生成的迁移文件如下: 2. 移除字段(和添加字段…
Rails学习-cache缓存
启用或禁用cache 在模版中使用cache方法 1. 将原先的代码逻辑包裹在cache方法的代码块中。 2. 当数据发生变化的时候,Rails会自动进行处理(包括缓存的存储、失效等问题)。 3. 当Rails使用缓存数据的时候,服务器的输出信息中会看到 Read fragment 字样。 4. 如果数据发生了变化,服…
Ruby元编程(四)
参考书籍《Ruby元编程(第二版)》 Ruby版本: 书上使用的是2.x,自己使用的3.1.2 类定义的本质 在ruby中类不过是增强的模块,因此对类的相关内容也适用于模块 当前类 不管处在ruby程序的那个位置,总存在一个当前对象:self。同样,也总是存在一个当前类(或模块)存在。 - 在程序的顶层,当前类是Obj…
Rails学习 - 固件
参考书籍: Ruby on Rails教程(第四版) 固件(fixture)是Rails中组织测试数据的一种方式,这些数据会载入测试数据库 简单的使用示例 例如,我们有一个 User 模型,它有 name , email , password_digest 三个字段,那么我们可以通过如下操作来进行测试 1. 在模型对应…
Ruby元编程(三)
参考书籍《Ruby元编程(第二版)》 Ruby版本: 书上使用的是2.x,自己使用的3.1.2 动态调用方法 使用[Object send]可以进行动态调用方法。send方法的第一个参数是要调用的方法名字(可以是字符串或符号),剩下的参数和代码块会直接传递给调用的方法,这样可以在代码运行的最后一刻决定调用那个方法,这个…
Ruby元编程(二)
参考书籍《Ruby元编程(第二版)》 Ruby版本: 书上使用的是2.x,自己使用的3.1.2 关于self和私有方法调用之间的问题 Ruby2.7之前版本 在Ruby 2.7之前,可以使用self调用一个私有写入/赋值方法,但是使用self调用任何其他私有方法将抛出NoMethodError。 示例如下: 上面的示例…
Ruby元编程(一)
参考书籍《Ruby元编程(第二版)》 Ruby版本: 书上使用的是2.x,自己使用的3.1.2 打开类 Ruby中的class关键字只有在第一次使用时是作为类型声明语句使用,用于定义一个目前不存在的类。 对于已经存在的类,class关键字的作用更像是一个作用域操作符,把你带到类的上下文中,让你可以在里面定义方法。 这种…
Ruby学习-异常处理
异常处理语句 Ruby使用begin~rescue~end语句描述异常处理,类似于Java中的try~catch块 rescue后面可以指定一个变量名,用于获取异常对象 即使在rescue后不指定变量名,Ruby也会把异常对象赋值给变量$! 异常发生时被自动赋值的变量 变量 作用 :-: :-: $! 最后发生的异常(…
Ruby学习-基础知识
变量 Ruby中有四种类型的变量,变量的命名方式决定了变量的类型 1. 局部变量 以英文字母或者_开头 2. 全局变量 以 $ 符号开头 3. 实例变量 以 @ 符号开头 4. 类变量 以 @@ 开头 除了上述四种类型以外,还有伪变量、预定义变量这两种特殊变量。它们是Ruby预先定义好的 代表某特定值的特殊变量。伪变量…
Rails - 编写测试
参考书籍: Ruby on Rails教程(第四版) 一个简单测试 编写测试文件 找到test目录下对应的测试文件 例如:test/controllers/static_pages_controller_test.rb 启动测试 测试组件通过会以绿色显示,不通过的会以红色显示(颜色区分效果需要添加MiniTest依赖)…
Rails - 快速创建项目
参考书籍: Ruby on Rails教程(第四版) 安装ruby - MacOS系统自带Ruby,不过其版本较旧 - 需要安装不同版本的Ruby时,推荐使用Ruby版本管理工具进行安装 - 常用的Ruby版本管理工具有:rvm 和 rbenv 安装 rvm/rbenv 安装 rvm/rbenv 可以参考Ruby Ch…