<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>zhukejun (kzhu)</title>
    <link>https://ruby-china.org/zhukejun</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>求解代码疑惑</title>
      <description>&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;module&lt;/span&gt; &lt;span class="nn"&gt;TimeStampingWriter&lt;/span&gt;
  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;write_line&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;line&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;super&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="no"&gt;Time&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;: &lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;line&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; b"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;

&lt;span class="k"&gt;module&lt;/span&gt; &lt;span class="nn"&gt;NumberingWriter&lt;/span&gt;
  &lt;span class="nb"&gt;attr_reader&lt;/span&gt; &lt;span class="ss"&gt;:line_number&lt;/span&gt;
  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;write_line&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;line&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="vi"&gt;@line_number&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="k"&gt;unless&lt;/span&gt; &lt;span class="vi"&gt;@line_number&lt;/span&gt;
    &lt;span class="k"&gt;super&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="vi"&gt;@line_number&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;: &lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;line&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; a"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="vi"&gt;@line_number&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;

&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;SimpleWriter&lt;/span&gt;
  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;write_line&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;line&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;line&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;

&lt;span class="n"&gt;w1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;SimpleWriter&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;
&lt;span class="n"&gt;w1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;extend&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="no"&gt;TimeStampingWriter&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;w1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;write_line&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'hello'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;w2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;SimpleWriter&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;
&lt;span class="n"&gt;w2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;extend&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="no"&gt;NumberingWriter&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;w2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;write_line&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'hello'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;w&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;SimpleWriter&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;
&lt;span class="n"&gt;w&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;extend&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="no"&gt;TimeStampingWriter&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;w&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;extend&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="no"&gt;NumberingWriter&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;w&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;write_line&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'hello'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;输出：
2014-11-03 17:00:19 +0800: hello b
1: hello a
2014-11-03 17:00:19 +0800: 1: hello a b&lt;/p&gt;

&lt;p&gt;extend 两个模块后的输出很疑惑，求解释。&lt;/p&gt;</description>
      <author>zhukejun</author>
      <pubDate>Mon, 03 Nov 2014 17:02:51 +0800</pubDate>
      <link>https://ruby-china.org/topics/22437</link>
      <guid>https://ruby-china.org/topics/22437</guid>
    </item>
    <item>
      <title>link_to 问题</title>
      <description>&lt;p&gt;有一个 form 页面，使用了 client_side_validations 这个 gem 做表单的 js 验证，开发模式下都没有问题，验证正常。
但是部署到 production 下就出问题了。
链接是：
&lt;code&gt;&amp;lt;%= link_to "add permission",new_host_permission_path,{class: "btn btn-primary"} %&amp;gt;&lt;/code&gt;
点击进入 form 页面，在表单里输入，但是 js 验证不能正常出现
点击产生的访问为：
&lt;img src="//l.ruby-china.com/photo/2014/ff49d97d7133f8a1aed9699618eb13c2.png" title="" alt=""&gt;
这时候刷新当前 form 页，所有 js 验证就都正常了
产生的刷新访问为：
&lt;img src="//l.ruby-china.com/photo/2014/e703a97a4cc3e3e577fa1d3491a56232.png" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;后来我只能把原来的链接改为：&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;%= link_to "add permission",new_host_permission_path,{"data-no-turbolink"=&amp;gt;true,class: "btn btn-primary"} %&amp;gt;&lt;/code&gt;
这样产生的链接点击效果和刷新当前页是一样的。
折腾了一天，也不知道是哪儿出问题了，求大神们帮忙看看，多谢了！
rails4.0&lt;/p&gt;</description>
      <author>zhukejun</author>
      <pubDate>Wed, 01 Jan 2014 14:42:38 +0800</pubDate>
      <link>https://ruby-china.org/topics/16555</link>
      <guid>https://ruby-china.org/topics/16555</guid>
    </item>
    <item>
      <title>有没有类似 bootstrap-duallistbox 功能的列表插件</title>
      <description>&lt;p&gt;&lt;a href="http://www.virtuosoft.eu/code/bootstrap-duallistbox/" rel="nofollow" target="_blank"&gt;http://www.virtuosoft.eu/code/bootstrap-duallistbox/&lt;/a&gt;
用了这个插件，但是列表里数据到 2000 的时候，反应就特慢，不知道是不是使用不当还是其他问题。&lt;/p&gt;</description>
      <author>zhukejun</author>
      <pubDate>Thu, 26 Dec 2013 10:28:07 +0800</pubDate>
      <link>https://ruby-china.org/topics/16431</link>
      <guid>https://ruby-china.org/topics/16431</guid>
    </item>
    <item>
      <title>gbk 转 utf8 编码的问题</title>
      <description>&lt;p&gt;require 'curl'
curl = CURL.new
page = curl.get("&lt;a href="http://www.sina.com.cn" rel="nofollow" target="_blank"&gt;http://www.sina.com.cn&lt;/a&gt;")
puts page.encode("utf-8","gbk")&lt;/p&gt;

&lt;p&gt;这段代码执行会产生错误：
a.rb:4:in &lt;code&gt;encode': "\xAC\xC3" from GBK to UTF-8 (Encoding::UndefinedConversionError)
    from a.rb:4:in&lt;/code&gt;&lt;/p&gt;'
实际上这时候 page 已经不是 gbk 编码了，搞不清楚 curl 出来的 page 是给存成什么编码了&lt;p&gt;&lt;/p&gt;

&lt;p&gt;而下边的就能正常解析
require "open-uri"
open("&lt;a href="http://www.sina.com.cn" rel="nofollow" target="_blank"&gt;http://www.sina.com.cn&lt;/a&gt;")  {  | x |
  while line = x.gets
       puts line.encode('utf-8','gbk')
  end
}
不明白是为什么，求教。&lt;/p&gt;</description>
      <author>zhukejun</author>
      <pubDate>Tue, 17 Sep 2013 10:59:52 +0800</pubDate>
      <link>https://ruby-china.org/topics/14177</link>
      <guid>https://ruby-china.org/topics/14177</guid>
    </item>
  </channel>
</rss>
