Ruby China
  • Topics
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • Sign Up
  • Sign In
Martin
@martin91
Member
NO. 4755 / 2012-11-27

深圳
45 Topics / 1467 Replies
100 Followers
7 Following
26 Favorites
Reward
GitHub Public Repos
  • paperclip-storage-aliyun 22

    Extend the Paperclip with Aliyun Storage

  • rong_cloud 10

    融云 Server API Ruby 语言 SDK

  • jianggaowang-1 1

    Jianggaowang official repository

  • excel-writors-benchmark 1

    Benchmarks for writing excel by different languages

  • gofixtures 1

    Ruby on Rails' style test fixtures for Golang

  • aes-encryption-benchmark 0

  • binance-public-data 0

    Details on how to get Binance public data

  • techparty-org.github.io 0

    珠三角技术沙龙 blog 官网

  • hikvision-isecure-pyth... 0

    python SDK for interacting with HIKVISION iSecure APIs / 用于海康威视综合安防管理平台的 Python SDK

  • hugo-black-and-light-t... 0

More on GitHub
  • Overview
  • Topics
  • Replies
  • Favorites
  • Following
  • Followers
  • 功能强大的导出 excel 的 gem:write_xlsx at February 10, 2017

    我之前读 excel 文件都是用的 roo,印象中导出没有用过任何 gem,直接用 Office 的 Spreedsheet XML 格式,Railscasts 上也有示例,好处是直接就可以用 erb 模板了,虽然可能繁琐一点,但是胜在直观:

    <?xml version="1.0"?>
    
    <!- http://railscasts.com/episodes/362-exporting-csv-and-excel ->
    <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
      xmlns:o="urn:schemas-microsoft-com:office:office"
      xmlns:x="urn:schemas-microsoft-com:office:excel"
      xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
      xmlns:html="http://www.w3.org/TR/REC-html40">
      <Worksheet ss:Name="Sheet1">
        <Table>
          <Row>
            <Cell><Data ss:Type="String">ID</Data></Cell>
            <Cell><Data ss:Type="String">Name</Data></Cell>
            <Cell><Data ss:Type="String">Release Date</Data></Cell>
            <Cell><Data ss:Type="String">Price</Data></Cell>
          </Row>
        <% @products.each do |product| %>
          <Row>
            <Cell><Data ss:Type="Number"><%= product.id %></Data></Cell>
            <Cell><Data ss:Type="String"><%= product.name %></Data></Cell>
            <Cell><Data ss:Type="String"><%= product.released_on %></Data></Cell>
            <Cell><Data ss:Type="Number"><%= product.price %></Data></Cell>
          </Row>
        <% end %>
        </Table>
      </Worksheet>
    </Workbook>
    

    更多介绍可以参考 Wikipedia 的内容: Microsoft Office XML formats: Excel XML Spreadsheet example

    这种方式比较繁琐,代码量也多,输出的文件可能也更大(文本文件),需要开发者学习具体的标签跟类型等。但是可以拥有丰富的灵活性,比如样式跟单元格合并之类的,另外不需要任何额外依赖,适合对导出的表格有复杂的格式要求的场景吧。

  • [深圳][已结束] 2017.01.14 Ruby 活动 at January 11, 2017

    遗憾,时间冲突,刚好那天有事,精神上支持。

  • 什么是软件技术框架,软件技术框架图是怎么画的 at January 07, 2017

    能让人看懂就是好的,我常用来 draw.io

  • 关于站内没有博客系统的一点疑问 at December 25, 2016

    可能会写对一些基础知识的理解性的博客,但这样的内容似乎不适合用做分享

    大可不必如此刻意区分,不管是基础还是深入,我相信总会有受众在,或许这个受众也是个新手,也或许是没考虑过你的问题的相对有经验的人。Ruby China 是开放自由的社区,所以抱着开放与交流的心态就好。

  • [上海|英语流利说] 为后端工程师而来 at December 20, 2016

    #3 楼 @benzheren 哈哈,不客气,好的就强力推荐下而已

  • [上海|英语流利说] 为后端工程师而来 at December 20, 2016

    好团队,🐂 团队!支持下!哈哈

  • 周末到了,来段代码压压惊 at December 17, 2016

    #12 楼 @hidoos #13 楼 @yingce #14 楼 @betterthornbird #15 楼 @kayakjiang 你们果然都是周末才来看帖的

  • 现在多少人还有 “程序员干到 35 岁就干不动了,一定要转管理” 的念头? at December 09, 2016

    #5 楼 @huacnlee 两种都不适合的话是不是就该转行了? :D

  • 周末到了,来段代码压压惊 at November 29, 2016

    #8 楼 @dsh0416 还有这种啊,见识了

  • 出错信息做的这么美,我都不想看正常的页面了 at November 28, 2016

    这不是老早就有了的吗

  • [北京] Ruby 或全栈软件开发工程师工作 (工作一年半) at November 24, 2016

    连个链接都懒得编辑,怀疑楼主的诚意。短短不到三行字,倒是罗列了不少名词。。。

  • [上海] 2016年11月 Elixir Meetup at November 24, 2016

    赞!现在好像也就上海那边 Elixir 有 meetup 吧?Tony 哥啥时候来珠三角地区布道?

  • [佛山] 楼兰电商诚聘 Ruby 工程师 8 名 (10K ~ 25K) at November 22, 2016

    group.members << "来自广州到优秀的 React 工程师"

    错别字

  • [上海]“英语流利说” 团队招聘 Ruby 后端、移动端开发等工程师岗位 at November 17, 2016

    反正我已经点了赞!

  • 请教关于 li 事件绑定的问题 at November 08, 2016

    为什么要直接绑定到每个 <li> 元素上?这个可是会有性能消耗的。用 #8 楼 @Rei 的方案比较好。

    $("ul.xxx").on("click", "li", function(event){
      // do something
    });
    
  • 融云服务器端 API Ruby SDK at November 03, 2016

    #8 楼 @ruby_sky 心领心领,年底结算就好。

  • 融云服务器端 API Ruby SDK at November 03, 2016

    #6 楼 @akirapanda 代码比文档好的典范,哈哈

  • 融云服务器端 API Ruby SDK at November 03, 2016

    #1 楼 @helperhaps 跟之前的极光推送的那个是异曲同工,不过至少极光那个能跑起来。

  • 需求方说 Ruby 是什么啊?我大上海没人认识! at November 03, 2016

    对于外包可能真是这样,客户会想,如果这个项目做完,后边又很难找到相同技术栈的人来维护,那他干嘛不一开始就找一个多人用的技术栈呢?

  • [上海] 编程基本功之「任务分解」 at October 24, 2016

    小波真是走遍祖国大江南北啊!

  • Playbook 中文版 -- 在移动设备上原生至关重要 at October 21, 2016

    #3 楼 @leondu 支持!特别同意第二点。

  • Playbook 中文版 -- 在移动设备上原生至关重要 at October 21, 2016

    #1 楼 @nong 你行你上。

    (PS: 有时候还真希望社区提供 💔 踩 的功能 )

  • It's time to talk! at October 16, 2016

    @xifengzhu 话说拍照就好好拍照啊,摸着别人腿是几个意思

  • It's time to talk! at October 12, 2016

    🔜 沙发!!! 🛏

  • Rails 4 中,如何对 Active Record 两个结果集取并集? at October 11, 2016

    #10 楼 @daemon 那就不是 or 的问题了,or 是同表,表示的是多种条件的组合。

  • Rails 4 中,如何对 Active Record 两个结果集取并集? at October 11, 2016

    #6 楼 @daemon 用 Arel table 可以做到

    users = User.arel_table
    User.where(users[:foreign_field_id].in([1, 2, 3]).or(users[:foreign_field2_id].in([1,2,3]))).to_sql
    # => "SELECT `users`.* FROM `users` WHERE (`users`.`foreign_field_id` IN (1, 2, 3) OR `users`.`foreign_field2_id` IN (1, 2, 3))"
    
  • locale 这个变量来自何方? at September 30, 2016

    #6 楼 @cisolarix 在 controller action 里边放了个断点 binding.pry。

  • locale 这个变量来自何方? at September 30, 2016

    #2 楼 @dimos locale 是 actionview 里边的代理方法:

    [1] pry(#<HomeController>)> show-source locale
    
    From: /Users/martin/.rvm/gems/ruby-2.3.1/gems/actionview-5.0.0/lib/action_view/view_paths.rb @ line 11:
    Owner: ActionView::ViewPaths
    Visibility: public
    Number of lines: 2
    
    delegate :template_exists?, :any_templates?, :view_paths, :formats, :formats=,
             :locale, :locale=, :to => :lookup_context
    

    lookup_context 方法定义如下:

    def lookup_context
      @_lookup_context ||=
        ActionView::LookupContext.new(self.class._view_paths, details_for_lookup, _prefixes)
    end
    

    而 ActionView::LookupContext 中有相关的实现代码:

    module ActionView
      class LookupContext
        def locale
          @details[:locale].first
        end
    
        # Overload locale= to also set the I18n.locale. If the current I18n.config object responds
        # to original_config, it means that it has a copy of the original I18n configuration and it's
        # acting as proxy, which we need to skip.
        def locale=(value)
          if value
            config = I18n.config.respond_to?(:original_config) ? I18n.config.original_config : I18n.config
            config.locale = value
          end
    
          super(default_locale)
        end
      end
    end
    

    天色已晚,我就不深入研究了,反正路是这条路,还可以继续看 LookupContext 里的 self.register_detail 方法定义以及调用。

    另外,Ruby 全局变量名是用 $ 开头的,如果遇到一个看起来像变量但又有全局特性的“变量”的话,基本可以判断其实它是一个方法了。

    另外,像这种生僻方法,还是减少使用比较好,增加同一项目共同维护者的负担。还是用 I18n.locale 就好了。

  • 如何在 coffee 文件中使用 erb 表单呢? at September 29, 2016

    erb 是由 ruby 在服务器端渲染的时候才能执行的代码,而 js 代码是已经在浏览器端渲染执行的了,两个渲染时机是完全不同的。楼主还是没有消化我昨晚发的回复,同一个问题,没必要开那么多帖。

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