<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>chaz1942 (常超)</title>
    <link>https://ruby-china.org/chaz1942</link>
    <description/>
    <language>en-us</language>
    <item>
      <title>alidayu-chaz1942 0.1.1.0 发布</title>
      <description>&lt;p&gt;阿里大于最近更改了接口，对于最新的接口没有 gem，顺手写了一个。
gem 中除了封装发送短信接口外，还提供了用于签名的 POP 协议的签名方法。
发送短信方法：
步骤 1 设置 access_key_id 和 access_key_secret&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="no"&gt;Alidayu&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;access_key_id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'YOUR ACCESS KEY ID'&lt;/span&gt;
&lt;span class="no"&gt;Alidayu&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;access_key_secrete&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'YOUR ACCESS KEY SECRET'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;步骤 2 发送短信&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="no"&gt;Alidayu&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;send_text_message&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="no"&gt;PhoneNumbers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'手机号码'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="no"&gt;TemplateParam&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="ss"&gt;code: &lt;/span&gt;&lt;span class="s1"&gt;'1234'&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="sr"&gt;//&lt;/span&gt;&lt;span class="n"&gt;模版参数和模版设置相关&lt;/span&gt;&lt;span class="err"&gt;，&lt;/span&gt;&lt;span class="n"&gt;我的模版content为&lt;/span&gt;&lt;span class="s1"&gt;'您的验证码${code}'&lt;/span&gt;
  &lt;span class="no"&gt;SignName&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'短信签名'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="no"&gt;TemplateCode&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'template code'&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;除此之外可以用与对参数进行 POP 签名，根据&lt;a href="https://help.aliyun.com/document_detail/56189.html?spm=5176.doc55284.6.567.wG44n1" rel="nofollow" target="_blank" title=""&gt;官方文档&lt;/a&gt;的签名例子，最终签名为&lt;code&gt;zJDF+Lrzhj/ThnlvIToysFRq6t4=&lt;/code&gt;&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="no"&gt;Alidayu&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;access_key_id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'testId'&lt;/span&gt;
&lt;span class="no"&gt;Alidayu&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;access_key_secrete&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'testSecret'&lt;/span&gt;
&lt;span class="n"&gt;signature_params&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="no"&gt;Timestamp&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'2017-07-12T02:42:19Z'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="no"&gt;SignatureMethod&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'HMAC-SHA1'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="no"&gt;SignatureVersion&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'1.0'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="no"&gt;SignatureNonce&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'45e25e9b-0a6f-4070-8c85-2956eda1b466'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="no"&gt;Action&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'SendSms'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="no"&gt;Version&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'2017-05-25'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="no"&gt;RegionId&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'cn-hangzhou'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="no"&gt;PhoneNumbers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'15300000001'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="no"&gt;SignName&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'阿里云短信测试专用'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="no"&gt;TemplateCode&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'SMS_71390007'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="no"&gt;TemplateParam&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;  &lt;span class="s2"&gt;"{&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;customer&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;:&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;test&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;}"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="no"&gt;Format&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'XML'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="no"&gt;OutId&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'123'&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
 &lt;span class="n"&gt;signature&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Alidayu&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get_signature&lt;/span&gt; &lt;span class="n"&gt;signature_params&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;get_signature 的返回值经过一次 Base64 得到&lt;code&gt;zJDF%2BLrzhj%2FThnlvIToysFRq6t4%3D&lt;/code&gt;&lt;/p&gt;</description>
      <author>chaz1942</author>
      <pubDate>Sun, 03 Sep 2017 19:20:13 +0800</pubDate>
      <link>https://ruby-china.org/topics/34009</link>
      <guid>https://ruby-china.org/topics/34009</guid>
    </item>
    <item>
      <title>PostgreSQL 更改数据库字段类型报错 ‘PG::DatatypeMismatch: ERROR:  column xxx cannot be cast automatically to type integer’</title>
      <description>&lt;p&gt;刚才想更改数据库的字段类型 由 string 改为 integer，
刚开始这么写的&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;change_column&lt;/span&gt; &lt;span class="ss"&gt;:table_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:column_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:integer&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;报错&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="o"&gt;==&lt;/span&gt; 20160718031624 xxxxx: migrating &lt;span class="o"&gt;======================&lt;/span&gt;
&lt;span class="nt"&gt;--&lt;/span&gt; change_column&lt;span class="o"&gt;(&lt;/span&gt;:table_name, :column_name, :integer&lt;span class="o"&gt;)&lt;/span&gt;
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:

PG::DatatypeMismatch: ERROR:  column &lt;span class="s2"&gt;"column_name"&lt;/span&gt; cannot be cast automatically to &lt;span class="nb"&gt;type &lt;/span&gt;integer
HINT:  You might need to specify &lt;span class="s2"&gt;"USING freight_calculation_rule_id::integer"&lt;/span&gt;&lt;span class="nb"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;上面说需要配置"USING freight_calculation_rule_id::integer"&lt;/p&gt;

&lt;p&gt;看了下源码&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;change_column&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;table_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;column_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;options&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{})&lt;/span&gt;
  &lt;span class="n"&gt;clear_cache!&lt;/span&gt;
  &lt;span class="n"&gt;quoted_table_name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;quote_table_name&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;table_name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="n"&gt;sql_type&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;type_to_sql&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;options&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:limit&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;options&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:precision&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;options&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:scale&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
  &lt;span class="n"&gt;sql_type&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="s2"&gt;"[]"&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;options&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:array&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
  &lt;span class="n"&gt;sql&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"ALTER TABLE &lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;quoted_table_name&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; ALTER COLUMN &lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;quote_column_name&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;column_name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; TYPE &lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;sql_type&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
  &lt;span class="n"&gt;sql&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="s2"&gt;" USING &lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;options&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:using&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="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;options&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:using&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
  &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;options&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:cast_as&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;sql&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="s2"&gt;" USING CAST(&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;quote_column_name&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;column_name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; AS &lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;type_to_sql&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;options&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:cast_as&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;options&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:limit&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;options&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:precision&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;options&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:scale&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="k"&gt;end&lt;/span&gt;
  &lt;span class="n"&gt;execute&lt;/span&gt; &lt;span class="n"&gt;sql&lt;/span&gt;

  &lt;span class="n"&gt;change_column_default&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;table_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;column_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;options&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:default&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;options_include_default?&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;options&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="n"&gt;change_column_null&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;table_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;column_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;options&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:null&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;options&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:default&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;options&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;key?&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;:null&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;将需要配置的 USING 放到 option[:using]
写成如下格式&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;change_column&lt;/span&gt; &lt;span class="ss"&gt;:shipping_area_freight_calculation_rules&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:freight_calculation_rule_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:integer&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;using: &lt;/span&gt;&lt;span class="s1"&gt;'freight_calculation_rule_id::integer'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;执行成功，一点小小的心得，希望能帮助到别人。
学习 rails 就像打怪升级，一不小心就解锁了隐藏技能&lt;/p&gt;</description>
      <author>chaz1942</author>
      <pubDate>Mon, 18 Jul 2016 12:13:38 +0800</pubDate>
      <link>https://ruby-china.org/topics/30557</link>
      <guid>https://ruby-china.org/topics/30557</guid>
    </item>
    <item>
      <title>ransack 搜索条件</title>
      <description>&lt;p&gt;前几天做 ransack 模糊搜索时，关于查询条件发现网上没有太多的解释，于是下载源码搜索了一下，找到了所有的搜索条件，现在发出啦与大家分享一下，希望对大家有帮助。关于 ransack 的介绍 github 上有就不赘述了&lt;a href="https://github.com/activerecord-hackery/ransack" rel="nofollow" target="_blank"&gt;https://github.com/activerecord-hackery/ransack&lt;/a&gt;&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="ss"&gt;eq: &lt;/span&gt;&lt;span class="s2"&gt;"等于"&lt;/span&gt;
&lt;span class="ss"&gt;eq_any: &lt;/span&gt;&lt;span class="s2"&gt;"等于任意值"&lt;/span&gt;
&lt;span class="ss"&gt;eq_all: &lt;/span&gt;&lt;span class="s2"&gt;"等于所有值"&lt;/span&gt;
&lt;span class="ss"&gt;not_eq: &lt;/span&gt;&lt;span class="s2"&gt;"不等于"&lt;/span&gt;
&lt;span class="ss"&gt;not_eq_any: &lt;/span&gt;&lt;span class="s2"&gt;"不等于任意值"&lt;/span&gt;
&lt;span class="ss"&gt;not_eq_all: &lt;/span&gt;&lt;span class="s2"&gt;"不等于所有值"&lt;/span&gt;
&lt;span class="ss"&gt;matches: &lt;/span&gt;&lt;span class="s2"&gt;"符合"&lt;/span&gt;
&lt;span class="ss"&gt;matches_any: &lt;/span&gt;&lt;span class="s2"&gt;"符合任意条件"&lt;/span&gt;
&lt;span class="ss"&gt;matches_all: &lt;/span&gt;&lt;span class="s2"&gt;"符合所有条件"&lt;/span&gt;
&lt;span class="ss"&gt;does_not_match: &lt;/span&gt;&lt;span class="s2"&gt;"不符合"&lt;/span&gt;
&lt;span class="ss"&gt;does_not_match_any: &lt;/span&gt;&lt;span class="s2"&gt;"符合任意条件"&lt;/span&gt;
&lt;span class="ss"&gt;does_not_match_all: &lt;/span&gt;&lt;span class="s2"&gt;"不符合所有条件"&lt;/span&gt;
&lt;span class="ss"&gt;lt: &lt;/span&gt;&lt;span class="s2"&gt;"小于"&lt;/span&gt;
&lt;span class="ss"&gt;lt_any: &lt;/span&gt;&lt;span class="s2"&gt;"小于任意一个值"&lt;/span&gt;
&lt;span class="ss"&gt;lt_all: &lt;/span&gt;&lt;span class="s2"&gt;"小于所有值"&lt;/span&gt;
&lt;span class="ss"&gt;lteq: &lt;/span&gt;&lt;span class="s2"&gt;"小于等于"&lt;/span&gt;
&lt;span class="ss"&gt;lteq_any: &lt;/span&gt;&lt;span class="s2"&gt;"小于等于任意一个值"&lt;/span&gt;
&lt;span class="ss"&gt;lteq_all: &lt;/span&gt;&lt;span class="s2"&gt;"小于等于所有值"&lt;/span&gt;
&lt;span class="ss"&gt;gt: &lt;/span&gt;&lt;span class="s2"&gt;"大于"&lt;/span&gt;
&lt;span class="ss"&gt;gt_any: &lt;/span&gt;&lt;span class="s2"&gt;"大于任意一个值"&lt;/span&gt;
&lt;span class="ss"&gt;gt_all: &lt;/span&gt;&lt;span class="s2"&gt;"大于所有值"&lt;/span&gt;
&lt;span class="ss"&gt;gteq: &lt;/span&gt;&lt;span class="s2"&gt;"大于等于"&lt;/span&gt;
&lt;span class="ss"&gt;gteq_any: &lt;/span&gt;&lt;span class="s2"&gt;"大于等于任意一个值"&lt;/span&gt;
&lt;span class="ss"&gt;gteq_all: &lt;/span&gt;&lt;span class="s2"&gt;"大于等于所有值"&lt;/span&gt;
&lt;span class="ss"&gt;in: &lt;/span&gt;&lt;span class="s2"&gt;"被包含"&lt;/span&gt;
&lt;span class="ss"&gt;in_any: &lt;/span&gt;&lt;span class="s2"&gt;"被任意值包含"&lt;/span&gt;
&lt;span class="ss"&gt;in_all: &lt;/span&gt;&lt;span class="s2"&gt;"被所有值包含"&lt;/span&gt;
&lt;span class="ss"&gt;not_in: &lt;/span&gt;&lt;span class="s2"&gt;"不被包含"&lt;/span&gt;
&lt;span class="ss"&gt;not_in_any: &lt;/span&gt;&lt;span class="s2"&gt;"不被任意值包含"&lt;/span&gt;
&lt;span class="ss"&gt;not_in_all: &lt;/span&gt;&lt;span class="s2"&gt;"不被所有值包含"&lt;/span&gt;
&lt;span class="ss"&gt;cont: &lt;/span&gt;&lt;span class="s2"&gt;"包含"&lt;/span&gt;
&lt;span class="ss"&gt;cont_any: &lt;/span&gt;&lt;span class="s2"&gt;"包含任意一个值"&lt;/span&gt;
&lt;span class="ss"&gt;cont_all: &lt;/span&gt;&lt;span class="s2"&gt;"包含所有值"&lt;/span&gt;
&lt;span class="ss"&gt;not_cont: &lt;/span&gt;&lt;span class="s2"&gt;"不包含"&lt;/span&gt;
&lt;span class="ss"&gt;not_cont_any: &lt;/span&gt;&lt;span class="s2"&gt;"不包含任意一个值"&lt;/span&gt;
&lt;span class="ss"&gt;not_cont_all: &lt;/span&gt;&lt;span class="s2"&gt;"不包含所有值"&lt;/span&gt;
&lt;span class="ss"&gt;start: &lt;/span&gt;&lt;span class="s2"&gt;"以改值开始"&lt;/span&gt;
&lt;span class="ss"&gt;start_any: &lt;/span&gt;&lt;span class="s2"&gt;"以任意一个值开始"&lt;/span&gt;
&lt;span class="ss"&gt;start_all: &lt;/span&gt;&lt;span class="s2"&gt;"以所有值开始"&lt;/span&gt;
&lt;span class="ss"&gt;not_start: &lt;/span&gt;&lt;span class="s2"&gt;"不以改值开始"&lt;/span&gt;
&lt;span class="ss"&gt;not_start_any: &lt;/span&gt;&lt;span class="s2"&gt;"不以任意一个值开始"&lt;/span&gt;
&lt;span class="ss"&gt;not_start_all: &lt;/span&gt;&lt;span class="s2"&gt;"不以所有值开始"&lt;/span&gt;
&lt;span class="ss"&gt;end: &lt;/span&gt;&lt;span class="s2"&gt;"以改值结尾"&lt;/span&gt;
&lt;span class="ss"&gt;end_any: &lt;/span&gt;&lt;span class="s2"&gt;"以任意一个值结尾"&lt;/span&gt;
&lt;span class="ss"&gt;end_all: &lt;/span&gt;&lt;span class="s2"&gt;"以所有值结尾"&lt;/span&gt;
&lt;span class="ss"&gt;not_end: &lt;/span&gt;&lt;span class="s2"&gt;"不以改值结尾"&lt;/span&gt;
&lt;span class="ss"&gt;not_end_any: &lt;/span&gt;&lt;span class="s2"&gt;"不以任意一个值结尾"&lt;/span&gt;
&lt;span class="ss"&gt;not_end_all: &lt;/span&gt;&lt;span class="s2"&gt;"不以所有值结尾"&lt;/span&gt;
&lt;span class="s1"&gt;'true'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"等于true"&lt;/span&gt;
&lt;span class="s1"&gt;'false'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"等于false"&lt;/span&gt;
&lt;span class="ss"&gt;present: &lt;/span&gt;&lt;span class="s2"&gt;"有值"&lt;/span&gt;
&lt;span class="ss"&gt;blank: &lt;/span&gt;&lt;span class="s2"&gt;"为空"&lt;/span&gt;
&lt;span class="s1"&gt;'null'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"是null"&lt;/span&gt;
&lt;span class="ss"&gt;not_null: &lt;/span&gt;&lt;span class="s2"&gt;"不是null"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;</description>
      <author>chaz1942</author>
      <pubDate>Wed, 06 Apr 2016 10:08:49 +0800</pubDate>
      <link>https://ruby-china.org/topics/29556</link>
      <guid>https://ruby-china.org/topics/29556</guid>
    </item>
  </channel>
</rss>
