<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>lukertty (lukertty)</title>
    <link>https://ruby-china.org/lukertty</link>
    <description/>
    <language>en-us</language>
    <item>
      <title>维护测试环境分支和线上环境两个分支管理不同的 dotenv 的最佳实践？</title>
      <description>&lt;p&gt;现在有个项目是这样的：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;开发分支，对应着测试环境，.env.local 对应着测试环境的环境变量&lt;/li&gt;
&lt;li&gt;线上分支，代码全部和开发分支一样，.env.local 对应着线上分支的环境变量&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;每次功能更新，都先在开发分支上提交，测试环境测试无误后，rebase 到线上分支。&lt;/p&gt;

&lt;p&gt;但是由于两个分支总有一个提交不一样 (初次创建分支的时候修改 .env.local 的那个提交)，导致 rebase 后每次 push 都需要 force-with-lease。&lt;/p&gt;

&lt;p&gt;不知道大家怎么处理这种情景？谢谢！&lt;/p&gt;</description>
      <author>lukertty</author>
      <pubDate>Wed, 14 Nov 2018 11:12:51 +0800</pubDate>
      <link>https://ruby-china.org/topics/37758</link>
      <guid>https://ruby-china.org/topics/37758</guid>
    </item>
    <item>
      <title>大家是如何处理 Rails 应用的 Model 层和数据库层的数据校验的？</title>
      <description>&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="c1"&gt;#  redpack_employee_name(员工姓名)       :string(50)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;比如说数据库层面已经限制这个字段只能为 50 个字符的长度，那么 Model 层是否还需要加一句 &lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;validates&lt;/span&gt; &lt;span class="ss"&gt;:redpack_employee_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;length: &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="ss"&gt;maximum: &lt;/span&gt;&lt;span class="mi"&gt;50&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;我找了几个工具，帮忙自动根据 schema 生成所有的 validates，不过好像 star 不多，是不是有另外的推荐的做法？&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/SchemaPlus/schema_validations" rel="nofollow" target="_blank"&gt;https://github.com/SchemaPlus/schema_validations&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/rubiety/validates_lengths_from_database" rel="nofollow" target="_blank"&gt;https://github.com/rubiety/validates_lengths_from_database&lt;/a&gt;&lt;/p&gt;</description>
      <author>lukertty</author>
      <pubDate>Wed, 05 Sep 2018 15:42:28 +0800</pubDate>
      <link>https://ruby-china.org/topics/37445</link>
      <guid>https://ruby-china.org/topics/37445</guid>
    </item>
    <item>
      <title>请问 Rails 有办法在 Model 里映射数据库的字段名吗？</title>
      <description>&lt;p&gt;大家好！在用 rails 开发一个业务的小模块，数据库里的表都是之前定死的，前面都有一个前缀表示该业务在系统中的位置，比如说 &lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;redpack_records_employee_name&lt;/span&gt; &lt;span class="c1"&gt;## -&amp;gt; 红包记录中记录的员工名，希望映射成 employee_name (整个项目就只开发redpack_records,不需要重复指定)&lt;/span&gt;
&lt;span class="n"&gt;redpack_records_openid&lt;/span&gt;
&lt;span class="c1"&gt;## 等等&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;有没有这样一个方法可以让 rails 字段名产生映射关系，而不影响其他功能的正常使用。我所知的，表名和主键是可以指定的，其他字段就不知道了。&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Record&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="no"&gt;ApplicationRecord&lt;/span&gt;
  &lt;span class="nb"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;table_name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'redpack_records'&lt;/span&gt;
  &lt;span class="nb"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;primary_key&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'redpack_records_id'&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;</description>
      <author>lukertty</author>
      <pubDate>Mon, 03 Sep 2018 10:56:53 +0800</pubDate>
      <link>https://ruby-china.org/topics/37428</link>
      <guid>https://ruby-china.org/topics/37428</guid>
    </item>
    <item>
      <title>这样的代码如何改的更符合 Ruby 哲学？</title>
      <description>&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;fun1&lt;/span&gt;
&lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;fun2&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;pred&lt;/span&gt;
&lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;fun3&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;pred&lt;/span&gt;
&lt;span class="c1"&gt;# ...&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;不符合条件，就找下一个，这里的 fun 有若干个。现在每次增加一个 fun，就要整句话抄一遍，有没有简洁清晰的写法？&lt;/p&gt;

&lt;p&gt;先谢过了！&lt;/p&gt;

&lt;p&gt;实际的需求来自 &lt;a href="https://github.com/Homebrew/brew/pull/4241" rel="nofollow" target="_blank"&gt;https://github.com/Homebrew/brew/pull/4241&lt;/a&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;width&lt;/span&gt;
  &lt;span class="n"&gt;width&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sb"&gt;`/bin/stty size 2&amp;gt;/dev/null`&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;split&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
  &lt;span class="n"&gt;width&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sb"&gt;`/usr/bin/tput cols 2&amp;gt;/dev/null`&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;split&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&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;width&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="nf"&gt;zero?&lt;/span&gt;
  &lt;span class="n"&gt;width&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;80&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;width&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="nf"&gt;zero?&lt;/span&gt;
  &lt;span class="n"&gt;width&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;to_i&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;不知道怎么改好一点。。。&lt;/p&gt;</description>
      <author>lukertty</author>
      <pubDate>Thu, 31 May 2018 10:43:52 +0800</pubDate>
      <link>https://ruby-china.org/topics/36868</link>
      <guid>https://ruby-china.org/topics/36868</guid>
    </item>
  </channel>
</rss>
