Ruby China
  • 社区
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • 注册
  • 登录
JustQyx
@hz_qiuyuanxin
高级会员
第 2099 位会员 / 2012-05-06

[email protected]
DJI
深圳
22 篇帖子 / 614 条回帖
12 关注者
46 正在关注
195 收藏
教育的目的,不是培养人们适应传统的世界,不是着眼于实用性的知识和技能,而要去唤醒学生的力量,培养他们自我学习的主动性,抽象的归纳力和理解力,以便使他们在目前无法预料的种种未来局势中,自我做出有意义的选择
打赏作者
GitHub Public Repos
  • affirm-ruby 1

    Ruby client library for integrating with Affirm financing payments

  • elasticsearch-with-ik 1

    Just some packages, not a project

  • gfwlist 1

    The one and only one gfwlist here

  • aliyun-oss-ruby-sdk 0

    Aliyun OSS SDK for Ruby

  • pdf_handler 0

    Replace text in pdf

  • ruby_torna_sdk 0

  • RSSHub 0

    🍰 Everything is RSSible

  • justqyx.github.io 0

  • node-torna-sdk 0

  • haoel.github.io 0

More on GitHub
  • 概况
  • 话题
  • 回帖
  • 收藏
  • 正在关注
  • 关注者
  • PostgreSQL 与 MySQL 的性能 at 2014年10月29日

    #19 楼 @bobby_chen 你这样是全表扫描,用什么都慢的拉!就算对 game_id 加上了索引,也没什么用!你还不如做一下 counter cache。

  • PostgreSQL 与 MySQL 的性能 at 2014年10月29日

    能看一下你得表结构和索引,还有查询的 explain 出来的东西么?我想象力不好!

  • GZRuby 第 20 次聚会活动总结以及后续待办事项预告 at 2014年10月29日

    👏 不错不错

  • 恭喜 Ruby China 三周年纪念日快乐 at 2014年10月28日

    谁能告诉我到底是三周年还是四周年 😪

  • 问一下有没有上传之前就进行裁减好图片的'gem'啊,我现在用的 paperclip,每次都要先上传,才能进行图片的裁减,感觉特别不方便 at 2014年10月27日

    #3 楼 @small_fish__ 源码我没去看,这个不太清楚。

  • 为何对象 new 之后还是 nil。。。。 at 2014年10月27日

    question 和 quesiton

  • 问一下有没有上传之前就进行裁减好图片的'gem'啊,我现在用的 paperclip,每次都要先上传,才能进行图片的裁减,感觉特别不方便 at 2014年10月27日

    有一种方法,就是把图片和裁剪参数一起上传,那么就要实现,在浏览器端能够直接打开图片。有这么一个库帮你做好了底层的工作,moxie

    其中有两个关键的对象:mOxie.Image 和 mOxie.FileInput

    mOxie.FileInput 可以让你绑定一个按钮,然后打开文件选择框,然后得到文件,然后再用 mOxie.Image 来加载并显示到页面中。

    以下是一部分代码,包含了表单的提交,对于裁剪预览的插件使用的是 jquery.cropper

    var $browseButton   = $("#fire-photo-modal")
      , $imageInput     = $("#image-input")
      , $imagePreview   = $("#image-preview")
      , $imageCropModal = $("#upload-client-photo-modal")
      , $uploadLogoForm = $("#upload-logo-form")
      , geometryParam   = "200x200+0+0"
    
    mOxie.Env.swf_url = "/files/Moxie.swf";
    
    var preloader = new mOxie.Image()
      , currentId = null;
    
    // 显示图片,并初始化裁图程序
    preloader.onload = function() {
      var $image = $(new Image());
    
      $image.data("originWidth", preloader.width);
      $image.data("originHeight", preloader.height);
      $image.attr("src", preloader.getAsDataURL("image/png"));
      $image.attr("id", "image-id-" + currentId);
    
      $image.load();
    
      $imagePreview.html($image);
    
      $image.cropper({
        aspectRatio: 9/9,
        minWidth: 100, minHeight: 100,
        data: { x: 0, y: 0, width: 200, height: 200 },
        preview: "#image-crop-preview",
        done: function(data) { geometryParam = data.width + "x" + data.height + "+" + data.x + "+" + data.y; }
      });
    }
    
    var fileInput = new mOxie.FileInput({
      runtime_order: 'html5,flash,silverlight,html4',
      browse_button: "fire-photo-modal",
      accept: [{title: "图片", extensions: "jpg,gif,png"}]
    })
    
    fileInput.onchange = function(e) {
      var file = e.target.files[0];
    
      if (!file) {
        return false;
      } else if (file.size > 1048576) { // 图片不能大于1MB
        alert("请选择小于1MB的图片(jpg,gif,png)");
        file.destroy();
        return false;
      }
    
      if (currentId) {
        var $image = $("#image-id-" + currentId);
        $image.cropper("destroy");
        $image.remove();
      }
    
      currentId = file.uid;
      preloader.load(file);           // 加载选择的图片文件
      $imageCropModal.modal('show');  // 显示裁剪图片的弹出框
    }
    
    fileInput.init();
    
    $("#crop-modal-return-btn").on("click", function(e){ $imageCropModal.modal("hide"); });
    $("#crop-modal-submit-btn").on('click', function(e){
      var $this = $(e.target)
    
      if ($this.attr("disabled")) {
        return false;
      } else {
        $this.html("保存中");
        $this.attr("disabled", "disabled");
      }
    
      var xhr = new mOxie.XMLHttpRequest()
        , formData = new mOxie.FormData()
        , params = $uploadLogoForm.serializeArray()
    
     //  将图片和裁剪参数一并提交
      formData.append("client[image_url]", preloader.getAsBlob("image/png"));
      formData.append("client[crop_geometry]", geometryParam);
    
      for (var i=0; i<params.length; i++) {
        formData.append(params[i].name, params[i].value);
      }
    
      xhr.open($uploadLogoForm.attr("method"), $uploadLogoForm.attr("action"));
      xhr.responseType = "json";
      xhr.onload = function() {
        $this.html("保存");
        $this.removeAttr("disabled");
        if (xhr.status == 200) {
          $fillClientProfileForm.find("[name='logo']").val("pass");
          $browseButton.css("background", "url(" + xhr.response["image_url"] + ") 0 0 / 120px 120px no-repeat");
          $browseButton.html('');
          $imageCropModal.modal('hide');
        } else if (xhr.status == 400) {
          alert("服务器发生错误,...");
          console.dir(xhr.response);
        } else {
          alert("服务器发生错误,...")
          console.dir(xhr.response);
        }
      }
      xhr.send(formData);
    });
    

    这个库需要花点心思和时间看看文档,其文档不是很详细,所以需要去看看别人的例子和不断地试错。 另外还需要看看这个库 Plupload

  • [2014 年][10 月 20 日~11 月 12 日] 七牛三周年嘉年华,感恩有你! at 2014年10月27日

    28

  • 想写技术博客,求推荐网站 at 2014年10月27日

    github page,用 octopress

  • 你们都搞 Ruby 多久了? at 2014年10月26日

    想想也有三年了,但是就是不知道是搞 ruby 还是被 ruby 搞 😄

  • 如何实现统计用户登陆错误超过 5 次显示验证码的需求 at 2014年10月24日

    #4 楼 @skhizein 「IP + 用户」的粒度去限制用户的错误登陆次数

  • 在 Rails 中,View 中的 JavaScript 代码调用 Helper 中的方法,如何传入一个整型参数? at 2014年10月24日

    #8 楼 @roar

    js 代码是在浏览器这边运行的,你认为浏览器这边的进程能够调用 rails 里的 helper 方法么?

  • 在 Rails 中,View 中的 JavaScript 代码调用 Helper 中的方法,如何传入一个整型参数? at 2014年10月24日

    #2 楼 @roar

    你认为这段代码,能够发起 ajax 请求到 rails 服务?

    var disk_size = "<%= storage_in_proper_unit(" + value + ") %>";
    
  • 在 Rails 中,View 中的 JavaScript 代码调用 Helper 中的方法,如何传入一个整型参数? at 2014年10月24日

    javascript 调用 rails helper 方法?

  • 关于 factory_girl 的重复创建关联对象问题 at 2014年10月23日

    对于你这种 user_1, user_2, user_3,我建议楼主还是好好看看文档吧!磨刀不误砍柴工

    而关于这个 ActiveRecord::RecordInvalid: Validation failed: Email has already been taken 错误,我猜是你的 user_2 和 user_3 的 email 值有问题,这个要看看你在模型里面的 validation 是怎么写的。

    还有,创建记录的时候,是可以指定某个 attribute 的值的,这个文档里面也有说:

  • QQ 的 Omniauth 认证有好多个 at 2014年10月23日

    就是 https://github.com/kaichen/omniauth-qq-connect

    失败了就去看看相关的文档:omniauth 的,QQ 开放平台的文档,还有 omniauth-qq-connect 的文档

  • 国内第一家云端的日志管理软件 (uclogs.com) 招募体验用户 at 2014年10月21日

    其实更在意的是私密性和安全性的问题 😄

  • 组团上京参加 Rubyconf,起点杭州 at 2014年10月20日

    😭 报销车票么

  • 《Linux 命令行》中文版 PDF 上线了,epub 也上了 at 2014年10月17日

    感谢 @happypeter !!!

  • 用了 Ruby、Ruby on Rails 之后,就不想再用 Java 了? at 2014年10月16日

    如果你是做外包的按工时算工资,那么用 java,哈哈; 如果你是刚创业的,那么用 ruby

    以上话语别当真

  • 《Linux 命令行》中文版 PDF 上线了,epub 也上了 at 2014年10月15日

    求中英文 PDF 版 😀

  • 你需要将 CarrierWave 的删除旧文件功能禁用掉! at 2014年10月14日

    赞同

  • 关于引用地址问题 at 2014年10月14日

    竟然用 article.comments.map { |comment| comment.content } 而不是 article.comments.pluck(:content)

  • Docker 介绍以及其相关术语、底层原理和技术 at 2014年10月13日

    谢谢,看完之后基本理解了 docker 是个啥玩意,有空玩一下 👏

  • How Did Tenderlove and Others Speed Up Rails? at 2014年10月11日

    期待 4.2 stable 版本的发布 👏 👏 👏 👏 👏 👏 👏

  • 上一页
  • 1
  • 2
  • …
  • 8
  • 9
  • 10
  • 11
  • 12
  • …
  • 19
  • 20
  • 下一页
关于 / RubyConf / Ruby 镜像 / RubyGems 镜像 / 活跃会员 / 组织 / API / 贡献者
由众多爱好者共同维护的 Ruby 中文社区,本站使用 Homeland 构建,并采用 Docker 部署。
服务器由 赞助 CDN 由 赞助
iOS 客户端 / Android 客户端 简体中文 / English