<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>eric_chao (oldlock)</title>
    <link>https://ruby-china.org/eric_chao</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>导出 CSV  文件 乱码问题</title>
      <description>&lt;h2 id="Guide"&gt;Guide&lt;/h2&gt;
&lt;p&gt;这是一篇如何解决 CSV encoding 问题，希望能帮助各位同仁
   参考文档 &lt;a href="https://stackoverflow.com/questions/155097/microsoft-excel-mangles-diacritics-in-csv-files" rel="nofollow" target="_blank"&gt;https://stackoverflow.com/questions/155097/microsoft-excel-mangles-diacritics-in-csv-files&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;导出 CSV 文件结构出现各种乱码，我们需要了解本质  引用 &lt;a href="https://blog.csdn.net/evilcry2012/article/details/53112858" rel="nofollow" target="_blank"&gt;https://blog.csdn.net/evilcry2012/article/details/53112858&lt;/a&gt;
CSV 逗号分隔值（Comma-Separated Values，CSV，有时也称为字符分隔值，因为分隔字符也可以不是逗号），其文件以纯文本形式存储表格数据（数字和文本）。纯文本意味着该文件是一个字符序列，不含必须像二进制数字那样被解读的数据。CSV 文件由任意数目的记录组成，记录间以某种换行符分隔；每条记录由字段组成，字段间的分隔符是其它字符或字符串，最常见的是逗号或制表符。通常，所有记录都有完全相同的字段序列。
CSV 文件格式的通用标准并不存在，但是在 RFC 4180 中有基础性的描述。使用的字符编码同样没有被指定，但是 7-bitASCII 是最基本的通用编码。&lt;/p&gt;

&lt;p&gt;我们主要关注是纯文本格式的，使用的字符编码没有被指定，所以当我们导出 CSV，用 EXCEL 打开的时候，会出现乱码的原因是&lt;/p&gt;

&lt;p&gt;引用 &lt;a href="http://blog.163.com/whhlcj@126/blog/static/38702877201455104052915/" rel="nofollow" target="_blank"&gt;http://blog.163.com/whhlcj@126/blog/static/38702877201455104052915/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;为了识别 Unicode 文件，Microsoft 建议所有的 Unicode 文件应该以 ZERO WIDTH NOBREAK SPACE 字符开头。这作为一个”特征符”或”字节顺序标记（byte-order mark，BOM）”来识别文件中使用的编码和字节顺序（big-endian 或 little-endian），具体的对应关系见下表。
Bytes             Encoding Form
00 00 FE FF    UTF-32, big-endian
FF FE 00 00    UTF-32, little-endian
FE FF             UTF-16, big-endian
FF FE             UTF-16, little-endian
EF BB BF        UTF-8&lt;/p&gt;

&lt;p&gt;为了使我们能够正常打开无编码问题的 CSV 文件，我们需要为 CSV 文件指定 BOM，正常转换识别编码&lt;/p&gt;

&lt;p&gt;问题来了？如何在 Rails 里的 CSV 文件操作这点？&lt;/p&gt;

&lt;p&gt;很简单，在生成的 CSV 文件头部直接添加 BOM&lt;/p&gt;

&lt;p&gt;例如：&lt;/p&gt;

&lt;p&gt;csv &amp;lt;&amp;lt; ["\xEF\xBB\xBF ID","Name","AGE"]
..&lt;/p&gt;

&lt;p&gt;希望能够帮助到大家&lt;/p&gt;</description>
      <author>eric_chao</author>
      <pubDate>Sat, 28 Apr 2018 10:40:35 +0800</pubDate>
      <link>https://ruby-china.org/topics/36086</link>
      <guid>https://ruby-china.org/topics/36086</guid>
    </item>
    <item>
      <title>关于数组&amp;quot  转译问题</title>
      <description>&lt;p&gt;controller 中 返回参数&lt;a href="/test" class="user-mention" title="@test"&gt;&lt;i&gt;@&lt;/i&gt;test&lt;/a&gt; = ["1","2","3"]&lt;/p&gt;

&lt;p&gt;然后在 view 中调用，script  &lt;a href="/test" class="user-mention" title="@test"&gt;&lt;i&gt;@&lt;/i&gt;test&lt;/a&gt; 会返回 ["1","2&amp;amp;quot,"3&amp;amp;quot]&lt;/p&gt;

&lt;p&gt;没有返回希望的&lt;a href="/test" class="user-mention" title="@test"&gt;&lt;i&gt;@&lt;/i&gt;test&lt;/a&gt; = ["1","2","3"] 格式，有什么解决办法吗？&lt;/p&gt;</description>
      <author>eric_chao</author>
      <pubDate>Wed, 23 Aug 2017 11:05:33 +0800</pubDate>
      <link>https://ruby-china.org/topics/33904</link>
      <guid>https://ruby-china.org/topics/33904</guid>
    </item>
    <item>
      <title>关于 Rails 路由，自定义添加后，报 “ActionController::RoutingError (No route matches {:action=&gt;xxx,:controller=&gt;"xxxx})"“</title>
      <description>&lt;h3 id="学习运用了一段时间的Rails，对一些细节，还是不是太明白，特别对路由这块理解还不够深入，请大神指正"&gt;学习运用了一段时间的 Rails，对一些细节，还是不是太明白，特别对路由这块理解还不够深入，请大神指正&lt;/h3&gt;&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="n"&gt;span&lt;/span&gt;
  &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;link_to&lt;/span&gt; &lt;span class="s1"&gt;'DownLoadFile'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;down_load_view_search_path&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;resources&lt;/span&gt; &lt;span class="ss"&gt;:searches&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
  &lt;span class="n"&gt;member&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
    &lt;span class="n"&gt;get&lt;/span&gt; &lt;span class="s1"&gt;'down_load_file'&lt;/span&gt;
    &lt;span class="n"&gt;get&lt;/span&gt; &lt;span class="s1"&gt;'down_load_view'&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;    
&lt;span class="k"&gt;end&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;会报错，找不到具体路由，我很奇怪，配置了，但是找不到，但是不明白，不明确为什么会这样，找不到自己错在哪里。&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;
&lt;span class="no"&gt;ActionController&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;RoutingError&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="no"&gt;No&lt;/span&gt; &lt;span class="n"&gt;route&lt;/span&gt; &lt;span class="n"&gt;matches&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="ss"&gt;:action&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"down_load_view"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:controller&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"searches"&lt;/span&gt;&lt;span class="p"&gt;}):&lt;/span&gt;
  &lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;views&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;searches&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;html&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;haml&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;14&lt;/span&gt;&lt;span class="ss"&gt;:in&lt;/span&gt; &lt;span class="sb"&gt;`block in _app_views_searches_index_html_haml___72676910611027597_71052940'
  app/views/searches/index.html.haml:3:in `&lt;/span&gt;&lt;span class="n"&gt;_app_views_searches_index_html_haml___72676910611027597_71052940&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;</description>
      <author>eric_chao</author>
      <pubDate>Wed, 16 Aug 2017 15:07:35 +0800</pubDate>
      <link>https://ruby-china.org/topics/33848</link>
      <guid>https://ruby-china.org/topics/33848</guid>
    </item>
    <item>
      <title>Rails 5 升级问题，‘’ array_or_string_for_javascript’ 去掉了么？</title>
      <description>&lt;h4 id="升级过程中，发现找到不到‘array_or_string_for_javascript’ 方法了，无法引用。"&gt;升级过程中，发现找到不到‘array_or_string_for_javascript’方法了，无法引用。&lt;/h4&gt;
&lt;p&gt;####env:  ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-linux]   Rails 3.2.21&lt;br&gt;
/usr/lib/ruby/gems/2.3.0/gems/actionpack-3.2.21/lib/action_view/helpers/url_helper.rb &lt;/p&gt;

&lt;p&gt;API 中可以查到‘array_or_string_for_javascript‘function&lt;/p&gt;
&lt;h4 id="env:  ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]   Rails 5.0.0.1"&gt;env:  ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]   Rails 5.0.0.1&lt;/h4&gt;
&lt;p&gt;同样位置到不到对应的 rb
在报错的位置，/usr/lib/ruby/gems/2.3.0/gems/actionview-5.0.0.1/lib/action_view/helpers/url_helper.rb
找到 rb，但是唯独没有‘’array_or_string_for_javascript‘function.&lt;/p&gt;
&lt;h4 id="array_or_string_for_javascript 这个方法已经去掉了么？还是说在其他gem里面。"&gt;array_or_string_for_javascript 这个方法已经去掉了么？还是说在其他 gem 里面。&lt;/h4&gt;</description>
      <author>eric_chao</author>
      <pubDate>Tue, 29 Nov 2016 13:13:52 +0800</pubDate>
      <link>https://ruby-china.org/topics/31730</link>
      <guid>https://ruby-china.org/topics/31730</guid>
    </item>
    <item>
      <title>Rails 5   升级出现的问题 ‘undefined method `sql_type' for "NUMBER":String’</title>
      <description>&lt;p&gt;*&lt;em&gt;从 rails3 升级到 rails5 获取数据，报标题错误 *&lt;/em&gt;&lt;/p&gt;
&lt;h4 id="涉及到的代码块"&gt;涉及到的代码块&lt;/h4&gt;&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;...&lt;/span&gt;&lt;span class="n"&gt;in_size&lt;/span&gt;
  &lt;span class="n"&gt;in_query&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;push&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"RPTNO in (&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;all_bug_numbers&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;max_params_length&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;...&lt;/span&gt;&lt;span class="n"&gt;max_params_length&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)].&lt;/span&gt;&lt;span class="nf"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;","&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;)"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;span class="n"&gt;bugs&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Bug&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;find_by_sql&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"SELECT RPTNO, SUBJECT, STATUS, PRI_FOR_DEV, PROGRAMMER, CUSTOMER from RPTHEAD WHERE (&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;in_query&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;' OR '&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;)"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;bug&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="n"&gt;bugs&lt;/span&gt;
  &lt;span class="n"&gt;bug_db_data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;bug&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:rptno&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nf"&gt;to_i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;bug&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="报错 ‘undefined method `sql_type' for "&gt;报错‘undefined method `sql_type' for "NUMBER":String‘&lt;/h4&gt;&lt;h4 id="Full Trace"&gt;Full Trace&lt;/h4&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;activerecord (5.0.0.1) lib/active_record/connection_adapters/column.rb:8:in `sql_type'
activerecord (5.0.0.1) lib/active_record/connection_adapters/abstract/quoting.rb:63:in `lookup_cast_type_from_column'
activerecord (5.0.0.1) lib/active_record/model_schema.rb:359:in `block in load_schema!'
activerecord (5.0.0.1) lib/active_record/model_schema.rb:355:in `each'
activerecord (5.0.0.1) lib/active_record/model_schema.rb:355:in `load_schema!'
activerecord (5.0.0.1) lib/active_record/attributes.rb:233:in `load_schema!'
activerecord (5.0.0.1) lib/active_record/attribute_decorators.rb:28:in `load_schema!'
activerecord (5.0.0.1) lib/active_record/model_schema.rb:349:in `load_schema'
activerecord (5.0.0.1) lib/active_record/model_schema.rb:256:in `columns_hash'
activerecord (5.0.0.1) lib/active_record/querying.rb:41:in `find_by_sql'
app/controllers/strategy_backlogs_controller.rb:397:in `retrieve_strate_line_increment_ers'
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;之前有位仁兄提到的更改代码&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#in_query.push("RPTNO in (#{all_bug_numbers[max_params_length*i...max_params_length*(i+1)].join(",")})")

in_query.push("RPTNO in (#{all_bug_numbers[max_params_length*i...max_params_length*(i+1)].join(',')})")
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="log"&gt;log&lt;/h4&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;(3224.6ms)  SELECT column_name AS name, data_type AS sql_type, data_default, nullable, virtual_column, hidden_column, data_type_owner AS sql_type_owner, DECODE(data_type, 'NUMBER', data_precision, 'FLOAT', data_precision, 'VARCHAR2', DECODE(char_used, 'C', char_length, data_length), 'RAW', DECODE(char_used, 'C', char_length, data_length), 'CHAR', DECODE(char_used, 'C', char_length, data_length), NULL) AS limit, DECODE(data_type, 'NUMBER', data_scale, NULL) AS scale FROM all_tab_cols WHERE owner = 'BUG' AND table_name = 'RPTHEAD' AND hidden_column = 'NO' ORDER BY column_id

Completed 500 Internal Server Error in 9286ms (ActiveRecord: 3519.8ms)

NoMethodError (undefined method `sql_type' for "NUMBER":String):
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;验证过，依然报错，这里 Bug.find_by_sql, 是从 oracle 获取数据，dev 使用的是 mysql 数据库，分析查看代码，追踪到 rails4    activerecord-5.0.0.1/lib/active_record/querying.rb&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;def find_by_sql(sql, binds = [], preparable: nil)
  result_set = connection.select_all(sanitize_sql(sql), "#{name} Load", binds, preparable: preparable)
  column_types = result_set.column_types.dup
  columns_hash.each_key { |k| column_types.delete k }
  message_bus = ActiveSupport::Notifications.instrumenter

  payload = {
    record_count: result_set.length,
    class_name: name
  }

  message_bus.instrument('instantiation.active_record', payload) do
    result_set.map { |record| instantiate(record, column_types) }
  end
end
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="result_set 返回数据很正常， column_types = result_set.column_types.dup， 返回{},也就是获取不到 column_type."&gt;result_set 返回数据很正常，column_types = result_set.column_types.dup，返回{},也就是获取不到 column_type.&lt;/h4&gt;
&lt;p&gt;导致后续 columns_hash.each_key { |k| column_types.delete k },报错
1.查看 activerecord-3.2.21 更改 find_by_sql 方法，会导致其他错误。
2.更改 bug sql 方式为 &lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="no"&gt;Bug&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;where&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;in_query&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;' OR '&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;会报涉及 gem 的错误
3.我是否少用了其他 rails4 或者 5 中的相关的 gem，检查，rails5 必须的 gem，都已安装。&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;*** LOCAL GEMS ***

aasm (4.11.1, 4.11.0, 4.1.0)
actioncable (5.0.0.1)
actionmailer (5.0.0.1, 4.2.7, 3.2.21)
actionpack (5.0.0.1, 4.2.7.1, 4.2.7, 3.2.21)
actionview (5.0.0.1, 4.2.7.1, 4.2.7)
activejob (5.0.0.1, 4.2.7)
activemodel (5.0.0.1, 4.2.7, 3.2.21)
activemodel-serializers-xml (1.0.1)
activerecord (5.0.0.1, 4.2.7, 3.2.21)
activerecord-oracle_enhanced-adapter (1.7.5, 1.7.1, 1.5.6, 1.4.3)
activeresource (3.2.21)
activesupport (5.0.0.1, 4.2.7.1, 4.2.7, 3.2.21)
acts_as_reportable (1.1.1)
acts_as_tree (2.6.0, 2.5.1, 2.1.0)
acts_as_votable (0.10.0)
arel (7.1.4, 7.1.2, 7.1.1, 6.0.3, 3.0.3)
awesome_print (1.7.0, 1.6.1)
bcrypt (3.1.11)
bigdecimal (1.2.8)
builder (3.2.2, 3.0.4)
bundle (0.0.1)
bundler (1.13.0, 1.12.5)
byebug (9.0.6, 9.0.5)
choice (0.2.0, 0.1.7)
chronic (0.10.2)
chunky_png (1.3.7, 1.3.4)
climate_control (0.0.3)
cocaine (0.5.8, 0.5.7)
coffee-rails (4.2.1, 3.2.2)
coffee-script (2.4.1, 2.3.0)
coffee-script-source (1.10.0, 1.9.1)
color (1.8, 1.7.1)
compass (1.0.3)
compass-core (1.0.3)
compass-import-once (1.0.5)
concurrent-ruby (1.0.2)
devise (4.2.0)
did_you_mean (1.0.2, 1.0.0)
dynamic_form (1.1.4)
enumerize (2.0.0)
erubis (2.7.0)
execjs (2.7.0, 2.4.0)
fastercsv (1.5.5)
ffi (1.9.14, 1.9.8)
font-awesome-rails (4.6.3.1)
globalid (0.3.7)
haml (4.1.0.beta.1, 4.0.7, 4.0.6)
haml-contrib (1.0.0.1)
haml-rails (0.9.0)
hashie (3.4.4)
hike (1.2.3)
html2haml (2.0.0)
i18n (0.7.0)
io-console (0.4.6, 0.4.5)
journey (1.0.4)
jquery-rails (4.2.1, 3.1.4, 3.1.2)
jquery-ui-rails (5.0.5)
json (2.0.2, 1.8.3, 1.8.2)
kaminari (0.17.0)
libv8 (3.16.14.15 x86_64-linux)
loofah (2.0.3)
mail (2.6.4, 2.5.4)
method_source (0.8.2)
mime-types (3.1, 1.25.1)
mime-types-data (3.2016.0521)
mimemagic (0.3.2, 0.3.0)
mini_portile (0.6.2)
mini_portile2 (2.1.0)
minitest (5.9.1, 5.9.0, 5.8.3)
multi_json (1.12.1, 1.11.0)
mysql2 (0.4.5, 0.4.4, 0.3.18)
nested_form (0.3.2)
net-telnet (0.1.1)
nio4r (1.2.1)
nokogiri (1.6.8.1, 1.6.8, 1.6.6.2)
omniauth (1.3.1)
orm_adapter (0.5.0)
paper_trail (5.2.2, 5.2.1, 3.0.7)
paperclip (5.1.0, 4.3.7, 4.2.1)
pdf-writer (1.1.8)
pkg-config (1.1.7)
polyglot (0.3.5)
power_assert (0.3.1, 0.2.6)
pr_geohash (1.0.0)
protected_attributes (1.1.3)
psych (2.1.1, 2.0.17)
quiet_assets (1.1.0)
rack (2.0.1, 1.6.4, 1.4.7, 1.4.5)
rack-cache (1.6.1, 1.2)
rack-pjax (1.0.0, 0.8.0)
rack-ssl (1.3.4)
rack-test (0.6.3)
rails (5.0.0.1, 4.2.7, 3.2.21)
rails-controller-testing (1.0.1)
rails-deprecated_sanitizer (1.0.3)
rails-dom-testing (2.0.1, 1.0.7)
rails-erd (1.5.0, 1.3.1)
rails-html-sanitizer (1.0.3)
rails-observers (0.1.2)
rails_admin (0.8.1)
railties (5.0.0.1, 4.2.7.1, 4.2.7, 3.2.21)
rake (11.3.0, 11.2.2, 10.4.2)
rank (0.0.2)
rb-fsevent (0.9.8, 0.9.7, 0.9.4)
rb-inotify (0.9.7, 0.9.5)
rdoc (4.2.2, 4.2.1, 3.12.2)
ref (2.0.0)
remotipart (1.2.1)
request_store (1.3.1)
responders (2.3.0)
rsolr (1.1.2, 1.0.13, 1.0.12)
ruby-graphviz (1.2.2, 1.0.9)
ruby-oci8 (2.2.2, 2.1.8)
ruby-ole (1.2.12)
ruby-plsql (0.6.0)
ruby_parser (3.8.3, 3.8.2)
rubyXL (3.3.22, 3.3.21)
rubyzip (1.2.0)
rufus-scheduler (3.2.2)
ruport (1.6.3)
safe_yaml (1.0.4)
sass (3.4.22, 3.4.13)
sass-rails (5.0.6, 3.2.6)
sexp_processor (4.7.0)
spreadsheet (1.1.3)
sprockets (4.0.0.beta3, 3.7.0, 2.2.3)
sprockets-rails (3.2.0, 3.0.0.beta2)
strong_parameters (0.1.4)
sunspot (2.2.6, 2.0.0.pre.130115)
sunspot_rails (2.2.6, 2.0.0.pre.130115)
sunspot_solr (2.2.6, 1.3.3)
test-unit (3.2.1, 3.1.5)
therubyracer (0.12.2)
thor (0.19.1)
thread_safe (0.3.5)
tilt (2.0.5, 1.4.1)
transaction-simple (1.4.0.2)
treetop (1.4.15)
turbolinks (5.0.1)
turbolinks-source (5.0.0)
tzinfo (1.2.2, 0.3.52, 0.3.43)
uglifier (3.0.3, 3.0.2, 2.7.1)
warden (1.2.6)
websocket-driver (0.6.4)
websocket-extensions (0.1.2)
whenever (0.9.7, 0.9.4)
will_paginate (3.1.5, 3.1.3, 3.1.0, 3.0.7)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;有没有仁兄遇到过此类问题，求解。&lt;/p&gt;</description>
      <author>eric_chao</author>
      <pubDate>Tue, 08 Nov 2016 18:09:09 +0800</pubDate>
      <link>https://ruby-china.org/topics/31553</link>
      <guid>https://ruby-china.org/topics/31553</guid>
    </item>
    <item>
      <title>报错 ‘NoMethodError (undefined method `sql_type' for "NUMBER":String)’</title>
      <description>&lt;pre class="highlight plaintext"&gt;&lt;code&gt;NoMethodError (undefined method `sql_type' for "NUMBER":String):

app/controllers/strategy_backlogs_controller.rb:395:in `retrieve_strate_line_increment_ers'
app/controllers/strategy_backlogs_controller.rb:114:in `show'
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Full Trace&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;activerecord (5.0.0.1) lib/active_record/connection_adapters/column.rb:8:in `sql_type'
activerecord (5.0.0.1) lib/active_record/connection_adapters/abstract/quoting.rb:63:in `lookup_cast_type_from_column'
activerecord (5.0.0.1) lib/active_record/model_schema.rb:359:in `block in load_schema!'
activerecord (5.0.0.1) lib/active_record/model_schema.rb:355:in `each'
activerecord (5.0.0.1) lib/active_record/model_schema.rb:355:in `load_schema!'
activerecord (5.0.0.1) lib/active_record/attributes.rb:233:in `load_schema!'
activerecord (5.0.0.1) lib/active_record/attribute_decorators.rb:28:in `load_schema!'
activerecord (5.0.0.1) lib/active_record/model_schema.rb:349:in `load_schema'
activerecord (5.0.0.1) lib/active_record/model_schema.rb:256:in `columns_hash'
activerecord (5.0.0.1) lib/active_record/querying.rb:41:in `find_by_sql'
app/controllers/strategy_backlogs_controller.rb:395:in `retrieve_strate_line_increment_ers'
app/controllers/strategy_backlogs_controller.rb:114:in `show'
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;报错地方的相关代码&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;for i in 0...in_size
  in_query.push("RPTNO in (#{all_bug_numbers[max_params_length*i...max_params_length*(i+1)].join(",")})")
end
bugs = Bug.find_by_sql("SELECT RPTNO, SUBJECT, STATUS, PRI_FOR_DEV, PROGRAMMER, CUSTOMER from RPTHEAD WHERE (#{in_query.join(' OR ')})")
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;升级到 rails5，遇到的问题&lt;/p&gt;</description>
      <author>eric_chao</author>
      <pubDate>Sun, 18 Sep 2016 17:33:04 +0800</pubDate>
      <link>https://ruby-china.org/topics/31085</link>
      <guid>https://ruby-china.org/topics/31085</guid>
    </item>
    <item>
      <title>请教 Rails 5 是否支持 Haml,发现 升级到 Rails 报错</title>
      <description>&lt;p&gt;...
ActionController::UnknownFormat (SessionsController#new is missing a template for this request format and variant.&lt;/p&gt;

&lt;p&gt;request.formats: ["text/html"]
request.variant: []&lt;/p&gt;

&lt;p&gt;NOTE! For XHR/Ajax or API requests, this action would normally respond with 204 No Content: an empty white screen. Since you're loading it in a web browser, we assume that you expected to actually render a template, notâ€¦ nothing, so we're showing an error to be extra-clear. If you expect 204 No Content, carry on. That's what you'll get from an XHR or API request. Give it a shot.):
...&lt;/p&gt;

&lt;p&gt;Gemfile:
...
source :gemcutter&lt;/p&gt;

&lt;p&gt;gem 'rails',               '5.0.0.1'&lt;/p&gt;
&lt;h2 id="bundler requires these gems in all environments"&gt;bundler requires these gems in all environments&lt;/h2&gt;
&lt;p&gt;gem 'aasm'
gem 'acts_as_tree'
gem 'awesome_print'
gem 'compass'
gem 'haml-rails'
......
...
切换到 erb，没问题&lt;/p&gt;</description>
      <author>eric_chao</author>
      <pubDate>Mon, 12 Sep 2016 18:00:23 +0800</pubDate>
      <link>https://ruby-china.org/topics/31048</link>
      <guid>https://ruby-china.org/topics/31048</guid>
    </item>
    <item>
      <title>RVM 升级 2.3.1 遇到升级问题</title>
      <description>&lt;p&gt;目前 rails 版本为 4.2.5.1，准备升级为最新的 5.0
1.rvm list known&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;bash-3.2&lt;span class="nv"&gt;$ &lt;/span&gt;rvm list known 
&lt;span class="c"&gt;# MRI Rubies&lt;/span&gt;
&lt;span class="o"&gt;[&lt;/span&gt;ruby-]1.8.6[-p420]
&lt;span class="o"&gt;[&lt;/span&gt;ruby-]1.8.7[-head] &lt;span class="c"&gt;# security released on head&lt;/span&gt;
&lt;span class="o"&gt;[&lt;/span&gt;ruby-]1.9.1[-p431]
&lt;span class="o"&gt;[&lt;/span&gt;ruby-]1.9.2[-p330]
&lt;span class="o"&gt;[&lt;/span&gt;ruby-]1.9.3[-p551]
&lt;span class="o"&gt;[&lt;/span&gt;ruby-]2.0.0[-p648]
&lt;span class="o"&gt;[&lt;/span&gt;ruby-]2.1[.10]
&lt;span class="o"&gt;[&lt;/span&gt;ruby-]2.2[.5]
&lt;span class="o"&gt;[&lt;/span&gt;ruby-]2.3[.1]
&lt;span class="o"&gt;[&lt;/span&gt;ruby-]2.3-head
ruby-head
&lt;/code&gt;&lt;/pre&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;bash &lt;span class="nv"&gt;$ &lt;/span&gt;rvm &lt;span class="nb"&gt;install &lt;/span&gt;2.3.1 &lt;span class="nt"&gt;--debug&lt;/span&gt;
ruby-2.3.1 - &lt;span class="nb"&gt;install
&lt;/span&gt;Log prefix: /home/chaotian/.rvm/log/1473228355_ruby-2.3.1/
Log filesystem: nfs
Log max name length: 250
Log file: /home/chaotian/.rvm/log/1473228355_ruby-2.3.1/remove.src.log
&lt;span class="o"&gt;[&lt;/span&gt;2016-09-06 23:05:55] __rvm_rm_rf
__rvm_rm_rf &lt;span class="o"&gt;()&lt;/span&gt; 
&lt;span class="o"&gt;{&lt;/span&gt; 
    __rvm_rm_rf_verbose &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$@&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
current path: /home/chaotian
&lt;span class="nv"&gt;GEM_HOME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/home/chaotian/.rvm/gems/ruby-2.1.5
&lt;span class="nb"&gt;command&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;2&lt;span class="o"&gt;)&lt;/span&gt;: __rvm_make &lt;span class="nt"&gt;-j4&lt;/span&gt;
ruby-2.3.1 - &lt;span class="c"&gt;#compiling............................&lt;/span&gt;
Error running &lt;span class="s1"&gt;'__rvm_make -j4'&lt;/span&gt;,
showing last 15 lines of /home/chaotian/.rvm/log/1473228355_ruby-2.3.1/make.log
vm.o:&lt;span class="o"&gt;(&lt;/span&gt;.note.stapsdt+0x384&lt;span class="o"&gt;)&lt;/span&gt;: undefined reference to &lt;span class="sb"&gt;`&lt;/span&gt;ruby_cmethod__return_semaphore&lt;span class="s1"&gt;'
vm.o:(.note.stapsdt+0x3f8): undefined reference to `ruby_cmethod__return_semaphore'&lt;/span&gt;
vm.o:&lt;span class="o"&gt;(&lt;/span&gt;.note.stapsdt+0x46c&lt;span class="o"&gt;)&lt;/span&gt;: undefined reference to &lt;span class="sb"&gt;`&lt;/span&gt;ruby_method__entry_semaphore&lt;span class="s1"&gt;'
vm.o:(.note.stapsdt+0x4dc): undefined reference to `ruby_cmethod__return_semaphore'&lt;/span&gt;
vm.o:&lt;span class="o"&gt;(&lt;/span&gt;.note.stapsdt+0x550&lt;span class="o"&gt;)&lt;/span&gt;: undefined reference to &lt;span class="sb"&gt;`&lt;/span&gt;ruby_method__return_semaphore&lt;span class="s1"&gt;'
vm.o:(.note.stapsdt+0x5c4): undefined reference to `ruby_hash__create_semaphore'&lt;/span&gt;
vm.o:&lt;span class="o"&gt;(&lt;/span&gt;.note.stapsdt+0x620&lt;span class="o"&gt;)&lt;/span&gt;: undefined reference to &lt;span class="sb"&gt;`&lt;/span&gt;ruby_cmethod__entry_semaphore&lt;span class="s1"&gt;'
vm.o:(.note.stapsdt+0x694): undefined reference to `ruby_cmethod__return_semaphore'&lt;/span&gt;
vm.o:&lt;span class="o"&gt;(&lt;/span&gt;.note.stapsdt+0x708&lt;span class="o"&gt;)&lt;/span&gt;: undefined reference to &lt;span class="sb"&gt;`&lt;/span&gt;ruby_method__return_semaphore&lt;span class="s1"&gt;'
vm.o:(.note.stapsdt+0x778): undefined reference to `ruby_method__entry_semaphore'&lt;/span&gt;
vm.o:&lt;span class="o"&gt;(&lt;/span&gt;.note.stapsdt+0x7e8&lt;span class="o"&gt;)&lt;/span&gt;: undefined reference to &lt;span class="sb"&gt;`&lt;/span&gt;ruby_cmethod__return_semaphore&lt;span class="s1"&gt;'
vm.o:(.note.stapsdt+0x85c): undefined reference to `ruby_cmethod__entry_semaphore'&lt;/span&gt;
collect2: ld returned 1 &lt;span class="nb"&gt;exit &lt;/span&gt;status
make: &lt;span class="k"&gt;***&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;miniruby] Error 1
++ &lt;span class="k"&gt;return &lt;/span&gt;2
There has been an error &lt;span class="k"&gt;while &lt;/span&gt;running make. Halting the installation.
__rvm_rm_rf already gone: /home/chaotian/.rvm/tmp/22458&lt;span class="k"&gt;*&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;尝试使用 rvm get head
也报错
‘Could not download rvm-installer, get some help at #rvm IRC channel at freenode servers’
同样  rvm get stable
也报错
‘Could not download rvm-installer, get some help at #rvm IRC channel at freenode servers’
---这里报错是因为 rvm 官网挂了，无法下载，同一时间我去验证的，公司连接的不是国内网络，不用翻墙
在 linux 环境升级&lt;/p&gt;</description>
      <author>eric_chao</author>
      <pubDate>Wed, 07 Sep 2016 14:25:43 +0800</pubDate>
      <link>https://ruby-china.org/topics/31004</link>
      <guid>https://ruby-china.org/topics/31004</guid>
    </item>
  </channel>
</rss>
