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

[email protected]
DJI
深圳
22 篇帖子 / 615 条回帖
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

  • ruby_torna_sdk 0

  • SCUMADD 0

    SCUM Server Admin Dashboard is a web-based platform designed for managing and monitoring SCUM gam...

  • node-torna-sdk 0

  • aliyun-oss-ruby-sdk 0

    Aliyun OSS SDK for Ruby

  • haoel.github.io 0

  • claude-code 0

    Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and...

  • LucianDevs-Useful-Scripts 0

    Useful Scripts Made By LucianDev

More on GitHub
  • 概况
  • 话题
  • 回帖
  • 收藏
  • 正在关注
  • 关注者
  • [已解决] libv8 安装提示说出错,但我明明已经安装上了 at 2014年10月29日

    你试试

    1. 删除 therubyracer 这个 gem
    2. 删除 libv8 这个 gem
    3. 删除系统安装的 v8 软件包

    然后

    1. 安装 v8 这个软件包
    2. 安装 libv8 这个 gem
    3. 安装 therubyracer 这个 gem
  • 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 是个啥玩意,有空玩一下 👏

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