对,我遇到的问题和你描述的应该是一样的,CarrierWave::Vips
的缩略图没有识别上一级 convert: 'jpg'
,我感觉是不太符合预期的,还是用 MiniMagick 能正确处理。
class User::AvatarUploader < ApplicationUploader
include CarrierWave::MiniMagick
process convert: 'jpg'
version :thumb do
process resize_to_fill: [ 88, 88 ]
end
end
CarrierWave::Vips
替换CarrierWave::MiniMagick
之后,转换格式process convert: 'jpg'
这个处理就失效了,有遇到过吗
按字面意思写就好了
array.sort_by(&:second).reverse.sort_by(&:first)
是指 destructuring assignment(解构赋值)吧,可以在 Ruby 社区搜索一下
https://bugs.ruby-lang.org/issues/8895#note-17
The proposed syntax is much harder to implement than it looks. It conflicts with Hash literals. As a result, humans can be confused as well.
Probably this kind of problems should be addressed by pattern matching, which we are considering to add to Ruby in the future.
Matz.
Update: 只有 Hash 解构不支持,数组是支持的
list = [ 0, 1, 2 ]
a, b, c = list
去掉 turbolinks
months = ((end_time - start_time.prev_month) / 1.month).to_i.times.map { |i| start_time + i.months }
data.group_by(&:first).transform_values { |value| value.pluck(1) }
Active Storage 不支持校验或者事务,这一点上还是无法替代 Carrierwave
像大家说的 avatar 是动态定义的,很难保证执行顺序,所以现在一般用 prepend 取代 alias 的作用
class User < ApplicationRecord
module AvatarWithDefaultValue
def avatar
super || 'default value'
end
end
prepend AvatarWithDefaultValue
end
程序员的配色审美🙄
class Array
def dimension
select { |e| e.is_a?(Array) }.map(&:dimension).max.to_i + 1
end
end
#6 楼 @ayaseangle skim === skim
gem 'validates_timeliness'
公司名称很有 rails 范儿
#7 楼 @caiqinghua 不好意思哈,现在上班时间 996,没有时间做别的东西
求 API 支持
瞎说什么大实话呢
#3 楼 @aidewoode 还有这个旋转是实现不了的,spinner-blade 的位置不变,只是透明度变化
1、用 slim 写就可以了
.ispinner.gray.animating
- 12.times do
.ispinner-blade
2、字体还要额外制作和加载字体文件,不环保
Swift 和 CoffeeScript 用的就很爽,现在终于轮到 Ruby 了~~~
:plus1:
year = 0.upto(100).find { |y| (y + 1).years.ago < birth }
month = 0.upto(11).find { |m| (m + 1).months.ago < birth + year.years }
day = 0.upto(30).find { |d| (d + 1).days.ago < birth + year.years + month.months }
直觉上可以数出来,不过比较低效
8.8.8.8 DNS 好像好了