用body= sock.read
就好了,一般都用read
或者read_nonblock
,没见过用recv
这个场景比较适合 Elixir, 除了并发上的优势,还有 OTP 用来支持“OT 转换算法”。
Ruby 技巧太多,学 Ruby 的总有一个阶段忍不住要用各种技巧。 经验多了反而能克制住自己,尽量少用技巧,写方便阅读的代码,面向维护者编程。
你先证明 Ruby 是单线程
早期 Ruby 线程是很弱语言级别的线程 (绿色线程),但是很早之前已经换成系统线程了。
Rails 文档算非常好的了,Ruby 的源码我至今也没看过也不影响开发。
web 开发,尤其是全栈开发本身知识点比较杂才是劝退新手的主要原因。python 还能干别的,ruby 不做 web 没得做
https://ruby-doc.com/core/Module.html#method-i-3D-3D-3D 看这个
Ruby 的三等是用在 case 语句的
试过 Rails 6.0.0, 5.0.6,都能订阅非 200 请求。 不存在的页面看你有没有专门的 controller 处理,有的话也能被订阅到。
lib
目录加到autoload_pathes
config.autoload_paths << Rails.root.join('lib')
Api::V2::UserController
, 要在autoload_paths
下面有api/v2/user_controller.rb
文件才可以。参考 https://guides.rubyonrails.org/autoloading_and_reloading_constants.html
用了一下,通过 css loader 加载的 css 在 html 中不带 data-turbolinks-track 的属性,页面切换的时候 css 加载会慢半拍。没有仔细看 css loader 文档不知道有没有方便加标签属性的方法……
老外标题党,结尾都说自己都不信,转过来再断章取义……
能招这么多年,起码说明人家业务稳中见长
Kernel.autoload
不是实例变量的坑,是def
打开一个跟上下文不联通的作用域,不管是不是在singleton_class
里,要理解 ruby 的作用域,代码应该是
class C
@c = 1
class << C
def f
@c
end
end
end
strong parameters
是让你设一个 white list allow list,让你标记传到 action 里面的参数哪个是可以接受的,并不是用来取参数的。
试一下
def shipping_charge_temp_params
params.permit(:name, :shipping_charge_method_id,
shipping_methods: %i[name
base_items base_price
increment_items_unit
increment_items_unit_price])
end
又看了一眼,教程的 Gemfile 里有一个 minitest 的 plugin minitest-reporters
,minitest 报错堆栈里就有这个 gem
这个教程好害人,要不是你贴的信息全,没人知道为什么。
应该是教程的 Gemfile 有问题,导致 minitest fail 的时候测试框架本身出错了,没法继续。
简单 fix 就是用 rails new 之后生成的 Gemfile,不要用教程的 Gemfile。
你要想深究原因,可以/home/sws/.rvm/gems/ruby-2.4.4/gems/railties-5.1.2/lib/rails/test_unit/reporter.rb
设个断点自己 debug 一下,鉴于你是新手,还是不要折腾了。
你跑测试的输出贴全了看一下,最后会有一个结果的,4 个 test 肯定都会跑
我没看过那个教程,如果完全按照你描述的步骤,这个测试失败是符合期望的,因为你现在只能响应static_pages_home_url
, static_pages_help_url
教程应该是教你测试驱动开发,先写测试,再补全实现的代码。你看下面是不是让你加about
页面
看一下你的config/routes.rb
文件
看你的测试父类是什么。如果是ActionDispatch::IntegrationTest
的话可以用static_pages_about_url
如果喜欢changeset
,可以在调#save
之前把before_validation
, validation
, before_save
都手动调一遍,效果差不多。
看到挖矿要用到全球 0.13% 的电,感觉好浪费
学习的劲头值得鼓励,笔记自己记录一下就好了,毕竟写给别人看还要琢磨用词,还要排版都需要花费很大精力。
关键字Single-table inheritance
名校的不要,安于现状的不要(不学习超前技术的),从没跳过槽/跳的少的不要,已婚的不要,要那些不安于现状的,频繁跳槽,至今还未得到一个老板认可的,认为所有面试官都是垃圾的,单身必须单身不管多大。
楼主现状?
哇塞,离我家好近,mark 一下
has_many :line_items, :dependent => destroy
destroy 加冒号
has_many :line_items, :dependent => :destroy
方法名用动词,变量名用名词