<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>heliang7 (HeLiang)</title>
    <link>https://ruby-china.org/heliang7</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>出二手 iMac（武汉）</title>
      <description>&lt;p&gt;帮一个妹子转的。&lt;/p&gt;

&lt;p&gt;imac 27 标配，2013 年 7 月入手的，保养良好。&lt;/p&gt;

&lt;p&gt;标价 10k，可以小刀，QQ635961048&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;27 英寸&lt;/li&gt;
&lt;li&gt;3.2GHz 四核 Intel Core i5 处理器&lt;/li&gt;
&lt;li&gt;Turbo Boost 高达 3.6GHz&lt;/li&gt;
&lt;li&gt;8GB (2 个 4GB) 内存&lt;/li&gt;
&lt;li&gt;1TB 硬盘 1&lt;/li&gt;
&lt;li&gt;NVIDIA GeForce GT 755M 图形处理器，配备 1GB 显存&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;有武汉的朋友想要的，请 qq 联系。&lt;/p&gt;</description>
      <author>heliang7</author>
      <pubDate>Wed, 11 Feb 2015 10:30:49 +0800</pubDate>
      <link>https://ruby-china.org/topics/24215</link>
      <guid>https://ruby-china.org/topics/24215</guid>
    </item>
    <item>
      <title>脚本中使用 active record 的问题</title>
      <description>&lt;p&gt;代码如下&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;require 'active_record'
#require 'activerecord-jdbc-adapter'
require 'activerecord-jdbcmssql-adapter'
require 'logger'
require 'D:\\lib\\jdbc-dirver\\mssql\\sqljdbc.jar'

ActiveRecord::Base.logger = Logger.new(STDOUT)
ActiveRecord::Base.establish_connection(
  adapter:  'sqlserver',
  host:     'localhost',
  username: 'sa',
  password: 'sa',
  database: 'DB'
)

class FormDefine &amp;lt; ActiveRecord::Base
    self.table_name = 'FormDefineTab'
    self.primary_key = 'id'
end

p FormDefine.first(20).to_a
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;总是最后一行出问题，但是通过 STDOUT 的 logger 可以看到 sql 语句已经执行了（或者生成）
错误如下：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;NoMethodError: undefined method `attribute_method_matcher' for 0:Fixnum
                 __send__ at org/jruby/RubyBasicObject.java:1709
                     send at org/jruby/RubyKernel.java:2213
  match_attribute_method? at d:/installed/Develop/Java/jruby-1.7.4/lib/ruby/gems
/shared/gems/activemodel-3.2.13/lib/active_model/attribute_methods.rb:444
              respond_to? at d:/installed/Develop/Java/jruby-1.7.4/lib/ruby/gems
/shared/gems/activemodel-3.2.13/lib/active_model/attribute_methods.rb:431
              respond_to? at d:/installed/Develop/Java/jruby-1.7.4/lib/ruby/gems
/shared/gems/activerecord-3.2.13/lib/active_record/attribute_methods.rb:169
           __run_callback at d:/installed/Develop/Java/jruby-1.7.4/lib/ruby/gems
/shared/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:398
      _run_find_callbacks at d:/installed/Develop/Java/jruby-1.7.4/lib/ruby/gems
/shared/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:390
                 __send__ at org/jruby/RubyBasicObject.java:1703
                     send at org/jruby/RubyKernel.java:2209
            run_callbacks at d:/installed/Develop/Java/jruby-1.7.4/lib/ruby/gems
/shared/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:81
                init_with at d:/installed/Develop/Java/jruby-1.7.4/lib/ruby/gems
/shared/gems/activerecord-3.2.13/lib/active_record/base.rb:523
              instantiate at d:/installed/Develop/Java/jruby-1.7.4/lib/ruby/gems
/shared/gems/activerecord-3.2.13/lib/active_record/inheritance.rb:68
              find_by_sql at d:/installed/Develop/Java/jruby-1.7.4/lib/ruby/gems
/shared/gems/activerecord-3.2.13/lib/active_record/querying.rb:38
                 collect! at org/jruby/RubyArray.java:2441
              find_by_sql at d:/installed/Develop/Java/jruby-1.7.4/lib/ruby/gems
/shared/gems/activerecord-3.2.13/lib/active_record/querying.rb:38
       logging_query_plan at d:/installed/Develop/Java/jruby-1.7.4/lib/ruby/gems
/shared/gems/activerecord-3.2.13/lib/active_record/explain.rb:41
              find_by_sql at d:/installed/Develop/Java/jruby-1.7.4/lib/ruby/gems
/shared/gems/activerecord-3.2.13/lib/active_record/querying.rb:37
             exec_queries at d:/installed/Develop/Java/jruby-1.7.4/lib/ruby/gems
/shared/gems/activerecord-3.2.13/lib/active_record/relation.rb:171
                     to_a at d:/installed/Develop/Java/jruby-1.7.4/lib/ruby/gems
/shared/gems/activerecord-3.2.13/lib/active_record/relation.rb:160
       logging_query_plan at d:/installed/Develop/Java/jruby-1.7.4/lib/ruby/gems
/shared/gems/activerecord-3.2.13/lib/active_record/explain.rb:41
                     to_a at d:/installed/Develop/Java/jruby-1.7.4/lib/ruby/gems
/shared/gems/activerecord-3.2.13/lib/active_record/relation.rb:159
                    first at d:/installed/Develop/Java/jruby-1.7.4/lib/ruby/gems
/shared/gems/activerecord-3.2.13/lib/active_record/relation/finder_methods.rb:11
7
                 __send__ at org/jruby/RubyBasicObject.java:1709
                    first at d:0
                   (root) at flow.rb:23
&lt;/code&gt;&lt;/pre&gt;</description>
      <author>heliang7</author>
      <pubDate>Mon, 17 Feb 2014 17:19:47 +0800</pubDate>
      <link>https://ruby-china.org/topics/17312</link>
      <guid>https://ruby-china.org/topics/17312</guid>
    </item>
    <item>
      <title>ActiveRecord 有没有支持分表的办法？</title>
      <description>&lt;p&gt;大概有这样一类表，结构都是相同的&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sample_data_12222
sample_data_12223
sample_data_12224
sample_data_12225
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;问题是这类表有 3000 多张。
先前我的想法是有多少表就用多少模型的办法&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ActiveRecord::Base.connnection.tables.grep(/sample_data_\d+/).each
  Class.new(ActiveRecord::Base) do
  ...
  end
end
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;但是数量过多，启动后 rails 就没有反应了。&lt;/p&gt;

&lt;p&gt;现在我的想法是用 set_table_name 来运行时改变表的指向。用 find 的时候，好像没问题，但是用 where 的时候，返回一个 Active::Relation，把它直接转变为 json 的时候&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SampleData &amp;lt; ActiveRecord::Base

  def some
    where(...)
  end

end

some = SampleData.some #some is now Active::Relation object

render json: {data: some}  #here will generate sql below
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;会生成 sql 语句&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;select `sample_data_12223`.* from `sample_data_12222' where ...
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这样的查询，当然就失败了。&lt;/p&gt;

&lt;p&gt;当然解决办法很简单&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;def some
  where(...).all #now return SampleData
end
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;但是感觉也不太优雅。&lt;/p&gt;

&lt;p&gt;我想请教下大家有没有比较优雅的解决这个问题的办法？&lt;/p&gt;</description>
      <author>heliang7</author>
      <pubDate>Thu, 25 Jul 2013 20:13:48 +0800</pubDate>
      <link>https://ruby-china.org/topics/12772</link>
      <guid>https://ruby-china.org/topics/12772</guid>
    </item>
    <item>
      <title>Ubuntu 12.04 更新源如何更改 dl.google.com 为 dl-ssl.google.com</title>
      <description>&lt;p&gt;用 rvm 安装最新的 ruby2.0 pxxx 版，提示先要更新 ubuntu。
然后到下载 dl.google.com 的时候，自然就出错了。
目前 dl-ssl.google.com 还是能用的，不知道怎么改成用 ssl 版的。&lt;/p&gt;

&lt;p&gt;实在不行，考虑买云梯了，就不折腾了，唉。&lt;/p&gt;</description>
      <author>heliang7</author>
      <pubDate>Mon, 15 Jul 2013 17:33:02 +0800</pubDate>
      <link>https://ruby-china.org/topics/12522</link>
      <guid>https://ruby-china.org/topics/12522</guid>
    </item>
    <item>
      <title>如何使用 pry debug unit test</title>
      <description>&lt;p&gt;尝试 pry -r ./test/unit/xxx.rb&lt;/p&gt;

&lt;p&gt;得到错误‘cannot load such file -- test_helper’&lt;/p&gt;

&lt;p&gt;应该如何才能 debug rails 的单元测试呢？  &lt;/p&gt;</description>
      <author>heliang7</author>
      <pubDate>Mon, 04 Jun 2012 15:51:42 +0800</pubDate>
      <link>https://ruby-china.org/topics/3654</link>
      <guid>https://ruby-china.org/topics/3654</guid>
    </item>
  </channel>
</rss>
