Gem 写了一个 upload-image gem,欢迎拍砖

dongli1985 · 2016年08月30日 · 最后由 dongli1985 回复于 2016年08月31日 · 1870 次阅读

上传、裁剪图片在 Rails 中不是很难实现,但是想要优雅地完成也不是那么一两下就搞的定,因此我将相关代码封装成一个 gem(upload-image),里面使用了carrierwavemini_magickcropper.js,最终实现一句 erb 就完成此功能:

<%= upload_image form: f, image_name: :avatar, width: 150, height: 150 %>

其中form就是那个 form 对象,image_name是 model 中对应的图片 column 名称,widthheight就是显示的尺寸。

效果图为:

不过有个小问题,这个 gem 里有 js 脚本,现在用的ready事件,在新的 Turbolinks 5 中跳转不好使,需要使用turbolinks:load,但是这样以来对之前的 Rails 应用应该也有影响了。

不过有个小问题,这个 gem 里有 js 脚本,现在用的 ready 事件,在新的 Turbolinks 5 中跳转不好使,需要使用 turbolinks:load,但是这样以来对之前的 Rails 应用应该也有影响了。

是不是可以做个判断?

#1 楼 @martin91 应该可以,或者提供一个安装 task,根据 rails 的版本修改那个 js 文件。

能不能用这个来检查?

if (Turbolinks.supported) {
  // ...
}

https://github.com/turbolinks/turbolinks#turbolinkssupported

#3 楼 @nong 这个可能只是用来测试浏览器是否支持 Turbolinks,并不能判断 Rails 的版本?

需要 登录 后方可回复, 如果你还没有账号请 注册新账号