<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>geekjj (geekjj)</title>
    <link>https://ruby-china.org/geekjj</link>
    <description/>
    <language>en-us</language>
    <item>
      <title>Rails MySQL String too long cause error</title>
      <description>&lt;h2 id="环境"&gt;环境&lt;/h2&gt;&lt;h4 id="开发"&gt;开发&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;数据库：Sqlite3&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="线上"&gt;线上&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;数据库：MySQL&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="问题"&gt;问题&lt;/h2&gt;
&lt;p&gt;使用 String 类型存储名字的字符串，当前段输入值过长时会导致 MySQL 出错，应用出现 FATAL 并报错“ActiveRecord::StatementInvalid (Mysql2::Error: Data too long for column。。。” 。&lt;/p&gt;

&lt;p&gt;这个问题可以在前段或者后端 rails 代码添加对 name 等字段的长度限制，但是应用中这种字段比较多，如果每一个都添加一个限制的话比较麻烦。&lt;/p&gt;

&lt;p&gt;求教有没有什么方法可以让 ActiveRecord 不要抛异常，而是 rollback，并在 Errors 里面添加相关提示？&lt;/p&gt;

&lt;p&gt;补充：由于开发环境和线上环境数据库不同，经常在本地开发环境一切 OK，但是线上测试无法通过的问题，比如：MySQL 和 Sqlite3 在检测字符串唯一性是对大小写是否敏感的处理方式就不一样。想问下大神，除了开发和线上使用同一数据库，有没有什么方法可以解决这种问题？&lt;/p&gt;</description>
      <author>geekjj</author>
      <pubDate>Tue, 31 May 2016 18:05:57 +0800</pubDate>
      <link>https://ruby-china.org/topics/30176</link>
      <guid>https://ruby-china.org/topics/30176</guid>
    </item>
    <item>
      <title>Rails cookie for path</title>
      <description>&lt;p&gt;Rails 使用  cookie 存储 session 的时候，是否可以指定多个 cookie 文件？
比如： &lt;code&gt;session_store.rb&lt;/code&gt; 文件配置如下&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Rails.application.config.session_store :cookie_store, { key: '_example_session_A', path: '/A', domain: nil }
Rails.application.config.session_store :cookie_store, { key: '_example_session_B', path: '/B', domain: nil }
Rails.application.config.session_store :cookie_store, { key: '_example_session_C', path: '/C', domain: nil }
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;但是服务器每次返回的 cookie 路径总是 &lt;code&gt;/C&lt;/code&gt;。
由于项目中不适合使用子域名的方式，所以考虑使用相对路径来分隔 cookie，但不知是否可行？&lt;/p&gt;</description>
      <author>geekjj</author>
      <pubDate>Mon, 21 Sep 2015 18:26:00 +0800</pubDate>
      <link>https://ruby-china.org/topics/27424</link>
      <guid>https://ruby-china.org/topics/27424</guid>
    </item>
  </channel>
</rss>
