【程序员笔记】ruby开发疑难杂症汇总

课程设计牵扯到ruby开发,中间碰到问题,特此记录

1. TypeError: 对象不支持此属性或方法

【程序员笔记】ruby开发疑难杂症汇总_第1张图片
一个令人头疼的问题

具体解决方法

  1. 在gemfile中添加
gem 'coffee-script-source', '1.8.0'
  1. 在命令行中执行下面代码
bundle update coffee-script-source
  1. 重启服务器
    一定要重启,这个一般如果直接开启一个新的服务器B他会检测到你之前开的服务器A,然后B就会自动失败。这个时候你如果通过http://127.0.0.1:3000/访问的其实还是你原来的网址。切记。

以上方法来源
stackoverflow 相关问题1
stackoverflow 相关问题2

2. 学习资源贴

github上一个ruby博客monologue

3.delete操作路由到show操作 (这是一个常见的而且不好找的bug)

【程序员笔记】ruby开发疑难杂症汇总_第2张图片
delete 操作失效

4 ActionController::InvalidAuthenticityToken

【程序员笔记】ruby开发疑难杂症汇总_第3张图片

4.数据库的迁移问题【未解决,记录疑惑,后期填坑】

一般来说,我们在最开始建立module的时候,会自动的使用自动生成工具生成对应的迁移文件,而对应的我们每当进行更改之后,我们一般来说会通过

 rails db:migrate

命令进行迁移,从而对数据库进行更新操作。

但是如果说我们在已经建立好自己的模型文件之后,我们想对数据库进行更新,或者说由于rails中封装的各种方法迫使我们去进行更改对应的文件,这个时候我们如果才能优雅的在migrate文件中进行更新呢?
暂时我了解的有两种方法

  1. 新建立一个migrate方法 在新建立的migrate方法的change中进行我们新的数据库文件的更改。
  2. 通过回滚,更改migrate文件之后,重新进行编译。

这里存在一个问题,在于如果能够我来确定一个版本让他多次编译,比如我更改了,然后重新跑一遍这种。
我尝试使用了rails db:migrate VERSION="" 一直没有成功。最后用的第二种方法进行了实现。

5.Class must be exist问题

【程序员笔记】ruby开发疑难杂症汇总_第4张图片

6.Save 和save!方法的区别

【程序员笔记】ruby开发疑难杂症汇总_第5张图片

亲测,非常好用!

注意:不要看麦子学院 ruby相关教程!!!中间会越过步骤,新手看太累,根本是在浪费时间,而且影响自己学习的心情

你可能感兴趣的:(【程序员笔记】ruby开发疑难杂症汇总)