rails new --skip-sprockets
创建一个新项目看看有什么差别。
在 action 里面 render turbo_stream 是普通的 http 响应,不会受 websocket 稳定性影响;在 model 里面用 broadcasts 才走 websocket(actioncable)。
X-Y 问题,你想要做什么?
编辑帖子并用 markdown 格式排版。
测试请求语句加上参数 xhr: true
🎉🎉🎉
感谢队长的贡献 🎉
我一直对 Ruby 的前景充满信心,经历了 node.js,Go,Elixir 的热潮我依然不离不弃,因为我觉得性能问题是可以通过社区努力提升,而语言设计是否优雅是决定性无法改变的。虽然离实际项目获得提升还有一段距离,但是确实看到希望了!
其实就两个问题:
楼上#5 对的,我记错了。
(4-(element.length)).times {element = "0" + element}
最后返回的值是 .times 方法的值。暂时没遇到问题,主要都忘了 webpack 怎么设置了,如果要改配置就很费时间 😅
其它好说看到 webpacker 心里一惊赶紧去找升级文档。
去掉 =
,不用 setter 方法
def safe_attributes(attrs, user=User.current, type='father')
logger.info("attrs.class.name => #{attrs.class.name}") #log日志中:attrs.class.name => Array
...
do something
...
end
另外注意 user=User.current
有隐患,默认值不用简单类型而是线程变量可能会有 bug,曾经默认值的计算时机变动过一次。
方法后面加 =
是 setter method,解析器会特殊处理,setter 方法只会接受一个参数,并且方法的返回值也是这个参数。如果参数有多个,他们会当作一个数组。
例子:
def test=(a, b = 'b', c = 'c')
puts a.inspect
puts b.inspect
puts c.inspect
end
self.test = 1, 2, 3
结果:
[1, 2, 3]
"b"
"c"
我没搜到官方文档,有知道的可以补充一下。
setter 方法以前坛里有一些讨论 https://ruby-china.org/topics/24631
没看到问题。
db 启动状态是正常的。
在 web 容器里用 psql 连不到数据库是正常的,要加上数据库的 host,username, password。
psql -h db -U postgres -d DBName
# 密码 password
# DBName 按环境不同
如果 config/database.yml
设置正确,则可以
bin/rails db
楼主要了解到 web 和 db 是两部主机,之间是通过网络通信。
DirectUpload 是上传到储存后端,根据配置可以是本地文件储存或者 S3 一类的云储存,本地文件储存是由 Rails 提供了一个 API。
印象中 DirectUpload 是这样一个流程:
ActiveStorage 有个 DirectUpload 的类,通过手动 create 可以控制它上传的时间,但是要看看源码才理解它怎么用,文档不够详细。
其实跟 vue 没啥关系,前端实现都共通。
我在 mac 下也是在 docker 内开发,也建议开发团队用 docker 同步开发环境。
不过 docker 对于新手来说始终是另外一层需要学习的知识,避免问题交叉可以尽量往后放一放。
听说 WSL2 有很大进步,不知道能不能作为新手开发环境,如果有人写一写就好了,我没有 Windows 环境做不了。
访问共享资源的例子
这贴已经不讨论技术了,就此锁帖。
小马过河
“中台,我信了你的邪” https://36kr.com/p/1725013082113
Mac
k8s 太难用了需要专职运维才行,开发人员需要更简洁的 interface。
以前某浏览器曾经做过这个功能,然后某些网站没有遵循 RESTFul,有些修改资源的操作用 GET 请求,导致浏览器误执行,后来就取消了这个功能。所以用这个机制要确保网站都用了正确的 HTTP 动作。
与其排除不执行 perfetch 的链接,感觉用显式设置打开 prefetch 比较好。