彩程那个之前大概半年没更新,也有一些 bug 直接用跑不通,后来提交 issue 之后就更新了。
代码上我觉得彩程那个功能更专一,assets 我是通过 CDN 回源处理的,不需要扩展 sprokets。
因为他们前端没用 activestorage.js 而是自己实现,所以 dicret_upload 不能直接用,我想仿照你的实现给他们提个 pr。
有个问题,你的实现是更改了原先的 xhr 还是另外发起一个,原先的 xhr 会重复发送吗?
这个 gem 相比 https://github.com/mycolorway/activestorage_qiniu/ 的优势是什么?
是的,我也试试这个方法。
先把这个语法错误改了:
# wrong
class User < ApplicationRecord
has_many :microposts
validates name, presence: true
validates email, presence: true
end
# right
class User < ApplicationRecord
has_many :microposts
validates :name, presence: true
validates :email, presence: true
end
can't activate mysql2 (< 0.6.0, >= 0.4.4), already activated mysql2-0.3.21
版本不符合要求,bundle update mysql2
。
然后呢?什么错?
去掉 activerecord-mysql2-adapter 了没。
用这个 gem activerecord-mysql2-adapter
做啥?
https://github.com/kronn/activerecord-mysql2-adapter
6 年没更新了,看来只是 ActiveRecord 没支持 mysql2 之前的过度 gem,应该会产生冲突。
我对这个特性不太感兴趣,一来自己的项目通过命名规范隔离已经足够,二来避免使用污染全局空间的库。ActiveSupport 是个特例,它是 Rails 的依赖不得不用,用起来也感觉良好。Rails 不用每个文件写一堆 import 也是它的优点。
最近用 ActiveStorage 的时候处理 js 端时发现问题,七牛的 js 上传逻辑跟 activestorage.js 里的不一样需要改写,但是这个包经过 ES6 的规范化打包之后,外部完全动不了里面的逻辑。本来只是改写一个方法可以搞定了,结果不得不把整个 js dump 到项目里改写。我还没想好怎么提 pr 让 activestorage.js 提供接口定制不同 service 的上传逻辑。
所以有了包的概念以后又不得不考虑怎么方便的问题了。
艹
用 Protocol Buffer 就上 gRPC https://grpc.io/
是不是个人屏蔽了一些用户。
别管 Gemset,被 Bundler 替代了。
为什么就没人封装一个 jquery 选择器语法的
前面只是说选择器语法。
Ruby China 组织会议从来不以营利为目的。
我找 @jasl 了解了一下,他提供了一些过往的资料,但没有参与组织。其它 Ruby China 的管理员都不知道这件事。
我觉得 Ruby 社区比较小,要举办 Conf 应该集合社区力量办好一个。今年 jasl 工作繁忙没空组织,已经把会议推倒明年了。如果 @rocLv 想接过大旗,应该跟我们商量(只跟 jasl 讲了),如果合适,由楼主主办,Ruby China 协办,甚至做得好以后就由楼主主办。管理群的人有过往的组织经验、讲师联系方式、赞助商渠道、物料渠道、志愿者关系、录像技术……大伙一起把会议搞好,让 matz 看到中文社区的活力。
没有规定说 RubyConf China 一定要谁来主办,楼主能邀请到 matz 也是有本事,我现在很担心会议水准不能让 matz 满意。管理群除了 jasl 外都不知道这事,都没有做准备,现在时间也很仓促。
??? @jasl
xpath 可以做到一些 css 做不到的事,例如匹配 Text Node。
看得不明所以:
又看了一次问题,似乎要的只是
我现在想要的是能不能在使用 carrierwave 选择图片后,后台自动上传到服务器?
如果只是这样的话,那么只要把表单改成 remote,在 file input 触发 change 事件的时候提交表单就行:
<%= form_for(@img,:html => {:multipart => true, id: 'img-form'}, :remote => true) do |f| %>
<%= f.text_field :img_name %>
<%= file_field_tag :attachment, id: 'attachment-input' %>
<%= f.submit "upload" %>
<% end %>
<script>
$('#attachment-input').on('change', function() {
Rails.fire(document.querySelector('#img-form'), 'submit'); // 必须用 Rails.fire,原生的 submit 方法不会触发 rails ujs remote form。
});
</script>
至于你想简化表单的参数,那么应该重新考虑模型建立,Img 模型的作用是什么?如果 Img 模型没必要,那么直接创建 Attachment 就好了。
PS:Attachment 模型多态关联也是有它的用处,Rails 的 ActiveStorage 有 Attachment - Blob 完整的实现,如果需要这种模型可以直接用 ActiveStorage。
自动上传需要自己写 javascript,原生接口的例子可以看这里:
https://developer.mozilla.org/en-US/docs/Web/API/File/Using_files_from_web_applications
我有个示例项目用了 Stimulus 和 Rails.ajax 的例子可以看这里:
啊哈,我理解你意思了,你想要 key 按顺序排列,Ruby Hash 是按插入序。
迭代的时候手工排序可以吗?
hash.sort.to_h.each do |key, value|
# ...
end
看起来 ActiveSupport::OrderedHash
就是 Hash 而已。
测试方法是怎么样的?
好像 1.9 开始默认就是 ordered。
https://www.igvita.com/2009/02/04/ruby-19-internals-ordered-hash/
人工智能识别,人工的。
那就沿用 Boolean 啊。
🙄️enum 的值是数字。怎么不用 boolean 类型。
docker
Don't feed the Troll