<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>song940 (Lsong)</title>
    <link>https://ruby-china.org/song940</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>在 Javascript 中你用什么方式拼接字符串 ?</title>
      <description>&lt;p&gt;以前我是这样做 &lt;/p&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Hello &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;后来我知道可以这样做：&lt;/p&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;arr&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
  &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Hello &lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;name&lt;/span&gt;
&lt;span class="p"&gt;];&lt;/span&gt;

&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;arr&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="dl"&gt;''&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;但是，复杂的拼接就变成了这样 :&lt;/p&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;''&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;!doctype html&amp;gt;&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;html&amp;gt;&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;   &amp;lt;head&amp;gt;&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;       &amp;lt;title&amp;gt;&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;title&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;   &amp;lt;/head&amp;gt;&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;   &amp;lt;body&amp;gt;&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;       &amp;lt;h1&amp;gt;Hello &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;, I'm &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;age&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt; years old. &amp;lt;/h1&amp;gt;&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;   &amp;lt;/body&amp;gt;&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;其实我要和大家分享的是 &lt;a href="https://github.com/song940/multiline.js" rel="nofollow" target="_blank"&gt;https://github.com/song940/multiline.js&lt;/a&gt; 这个库。&lt;/p&gt;

&lt;p&gt;他可以让这种工作变简单 . 就像这样 :&lt;/p&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;multiline&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(){&lt;/span&gt;&lt;span class="cm"&gt;/*
    &amp;lt;!DOCTYPE html&amp;gt;
    &amp;lt;html&amp;gt;
    &amp;lt;head&amp;gt;
        &amp;lt;title&amp;gt;#{ title }&amp;lt;/title&amp;gt;
    &amp;lt;/head&amp;gt;
    &amp;lt;body&amp;gt;
        &amp;lt;h1&amp;gt;Hello #{name}, I'm #{age} years old. &amp;lt;/h1&amp;gt;
    &amp;lt;/body&amp;gt;
    &amp;lt;/html&amp;gt;
*/&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;lsong&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;age&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;25&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Homepage&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;欢迎 Star &amp;amp; Fork .&lt;/p&gt;</description>
      <author>song940</author>
      <pubDate>Thu, 17 Jul 2014 11:39:08 +0800</pubDate>
      <link>https://ruby-china.org/topics/20541</link>
      <guid>https://ruby-china.org/topics/20541</guid>
    </item>
    <item>
      <title>Swift programming language</title>
      <description>&lt;p&gt;Apple 终于开发了个稍微正常一点的语言 , 语法至少不那么奇葩了。&lt;/p&gt;

&lt;p&gt;让我这样对 Objective-C 感到头痛的人终于看到了希望 . 兴奋之余搞了个域名 . &lt;/p&gt;

&lt;p&gt;&lt;a href="http://swift-lang.cc" rel="nofollow" target="_blank"&gt;http://swift-lang.cc&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;目前站点还没有任何有用的内容 .&lt;/p&gt;</description>
      <author>song940</author>
      <pubDate>Tue, 03 Jun 2014 16:10:35 +0800</pubDate>
      <link>https://ruby-china.org/topics/19705</link>
      <guid>https://ruby-china.org/topics/19705</guid>
    </item>
    <item>
      <title>如果你使用 Emacs ...</title>
      <description>&lt;p&gt;&lt;a href="https://medium.com/friendship-dot-js/76decf09fc1d" rel="nofollow" target="_blank" title=""&gt;Debug Your JavaScript Code in Real-Time&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;img src="https://pbs.twimg.com/media/BjGofGwCAAExN_6.jpg" title="" alt="Twitter Image"&gt;&lt;/p&gt;</description>
      <author>song940</author>
      <pubDate>Thu, 20 Mar 2014 09:39:09 +0800</pubDate>
      <link>https://ruby-china.org/topics/18027</link>
      <guid>https://ruby-china.org/topics/18027</guid>
    </item>
    <item>
      <title>ruby-lang.org 更换托管服务器了 ?</title>
      <description>&lt;p&gt;刚刚看到 &lt;a href="https://ruby-lang.org" rel="nofollow" target="_blank"&gt;https://ruby-lang.org&lt;/a&gt; 启用 &lt;code&gt;TLS/SSL&lt;/code&gt; 加密连接了 , &lt;/p&gt;

&lt;p&gt;&lt;img src="http://song940.qiniudn.com/QQ20140221-1.png" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;想到之前不是一直使用 &lt;code&gt;Jekyll&lt;/code&gt; 并托管在 &lt;a href="https://github.com" rel="nofollow" target="_blank" title=""&gt;Github&lt;/a&gt; 吗 ?&lt;/p&gt;

&lt;p&gt;难道 &lt;a href="https://www.ruby-lang.org/" rel="nofollow" target="_blank" title=""&gt;Ruby 官方网站&lt;/a&gt; 更换服务器了 ? 又或者是 &lt;a href="https://github.com" rel="nofollow" target="_blank" title=""&gt;Github&lt;/a&gt; 支持 &lt;code&gt;SSL证书&lt;/code&gt; 了 ?&lt;/p&gt;

&lt;p&gt;有了解内幕的同学吗 ?&lt;/p&gt;</description>
      <author>song940</author>
      <pubDate>Fri, 21 Feb 2014 11:14:38 +0800</pubDate>
      <link>https://ruby-china.org/topics/17390</link>
      <guid>https://ruby-china.org/topics/17390</guid>
    </item>
    <item>
      <title>Jekyll 相对路径</title>
      <description>&lt;p&gt;我如何让 &lt;code&gt;Jekyll&lt;/code&gt; 生成的 &lt;code&gt;_site&lt;/code&gt; 同时运行在 &lt;a href="http://song940.github.io/" rel="nofollow" target="_blank" title=""&gt;Github Page&lt;/a&gt; (根目录) 和 &lt;a href="https://lsong.org/~lsong" rel="nofollow" target="_blank"&gt;https://lsong.org/~lsong&lt;/a&gt;(子目录) ?&lt;/p&gt;

&lt;p&gt;求解 .&lt;/p&gt;</description>
      <author>song940</author>
      <pubDate>Wed, 15 Jan 2014 17:19:40 +0800</pubDate>
      <link>https://ruby-china.org/topics/16817</link>
      <guid>https://ruby-china.org/topics/16817</guid>
    </item>
    <item>
      <title>Ruby 2.0 on Mac OS X 10.9 Mavericks</title>
      <description>&lt;p&gt;之前 &lt;code&gt;Mountain Lion&lt;/code&gt;( 10.8 ) 预装的 &lt;code&gt;Ruby&lt;/code&gt; 版本为 &lt;code&gt;1.8&lt;/code&gt; , 然后我根据 &lt;a href="http://blog.lsong.org/2013/08/install-ruby-2-0-on-mac-os-x-without-rvm/" rel="nofollow" target="_blank" title=""&gt;Install Ruby 2.0 on Mac OS X without RVM&lt;/a&gt; 安装了 &lt;code&gt;2.0&lt;/code&gt; 版本 , 世界似乎一直很美好~&lt;/p&gt;

&lt;p&gt;升级 &lt;code&gt;Mavericks&lt;/code&gt; ( 10.9 ) 后 , 系统自带了 &lt;code&gt;2.0&lt;/code&gt; 的 &lt;code&gt;Ruby&lt;/code&gt; 但是系统自带的 &lt;code&gt;Ruby&lt;/code&gt; 无法安装 &lt;code&gt;Rails&lt;/code&gt; , 这个问题 &lt;a href="http://stackoverflow.com/questions/17382714/installing-rails-on-mac-os-10-9-mavericks-beta" rel="nofollow" target="_blank" title=""&gt;见这里&lt;/a&gt; .&lt;/p&gt;

&lt;p&gt;按照&lt;a href="http://stackoverflow.com/a/19209998/2155326" rel="nofollow" target="_blank" title=""&gt;这个&lt;/a&gt;解决之后就可以在 &lt;code&gt;Mavericks&lt;/code&gt; 上正常使用 &lt;code&gt;Ruby on Rails&lt;/code&gt; 了 &lt;img title=":beer:" alt="🍺" src="https://twemoji.ruby-china.com/2/svg/1f37a.svg" class="twemoji"&gt; .&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;当然 , &lt;a href="https://rvm.io/" rel="nofollow" target="_blank" title=""&gt;RVM&lt;/a&gt; 和 &lt;a href="http://rbenv.org/" rel="nofollow" target="_blank" title=""&gt;rbenv&lt;/a&gt; 这种工具已经足够好了 , 不过我只是想提供另外一种思路来管理 &lt;code&gt;Ruby&lt;/code&gt; 版本 .&lt;/p&gt;</description>
      <author>song940</author>
      <pubDate>Sun, 06 Oct 2013 22:57:56 +0800</pubDate>
      <link>https://ruby-china.org/topics/14560</link>
      <guid>https://ruby-china.org/topics/14560</guid>
    </item>
    <item>
      <title>Timeago 时间显示问题</title>
      <description>&lt;p&gt;&lt;img src="//l.ruby-china.com/photo/2b921cb8eff6d55f5c46ea7b61985bf9.png" title="" alt=""&gt;&lt;/p&gt;</description>
      <author>song940</author>
      <pubDate>Wed, 25 Sep 2013 10:09:10 +0800</pubDate>
      <link>https://ruby-china.org/topics/14371</link>
      <guid>https://ruby-china.org/topics/14371</guid>
    </item>
    <item>
      <title>开源诚可贵 , 理性价更高</title>
      <description>&lt;h3 id="啥也不说了 , 直接上图"&gt;啥也不说了 , 直接上图&lt;/h3&gt;
&lt;hr&gt;

&lt;p&gt;&lt;img src="//l.ruby-china.com/photo/a34a6033bf3e87dac4e997e909cd0b6c.png" title="" alt=""&gt;&lt;/p&gt;</description>
      <author>song940</author>
      <pubDate>Tue, 24 Sep 2013 12:52:01 +0800</pubDate>
      <link>https://ruby-china.org/topics/14348</link>
      <guid>https://ruby-china.org/topics/14348</guid>
    </item>
    <item>
      <title>NestedForm 与文件上传</title>
      <description>&lt;p&gt;我有一个一对多关系的数据，例如：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;员工 ( &lt;em&gt;has_many :附件&lt;/em&gt; )&lt;/li&gt;
&lt;li&gt;附件 ( &lt;em&gt;belongs_to :员工&lt;/em&gt; )&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;一个员工有可以添加多个附件 (如：&lt;strong&gt;身份证复印件&lt;/strong&gt;, &lt;strong&gt;屌丝证明&lt;/strong&gt; 啥的) 进去 , 那么这个时候我的麻烦来了：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;怎么在 NestedForm 中控制文件上传呢 (而且还是多个文件) ?&lt;/li&gt;
&lt;li&gt;资料编辑的时候怎么办？附件是不可以编辑的 , 只能删除附件&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;之前想过避开使用 &lt;code&gt;NestedForm&lt;/code&gt;  自己实现表单用 &lt;code&gt;XMLHttpRequest&lt;/code&gt; 上传 , 但是又觉得不爽，所以想知道大家遇到这种问题是如何解决的 .&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Update&lt;/em&gt;&lt;/strong&gt; :
为了更好的说明 , 补张图：&lt;/p&gt;


![screen-lsong](//l.ruby-china.com/photo/86036d0c9eeaf9a93d82a15979901fa8.png)
</description>
      <author>song940</author>
      <pubDate>Thu, 05 Sep 2013 13:01:09 +0800</pubDate>
      <link>https://ruby-china.org/topics/13896</link>
      <guid>https://ruby-china.org/topics/13896</guid>
    </item>
    <item>
      <title>Rails 如何实现表格排序、搜索等功能</title>
      <description>&lt;p&gt;在页面渲染一个 &lt;code&gt;Model&lt;/code&gt;  为 &lt;code&gt;HTML Table&lt;/code&gt; , 最好支持：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;列排序&lt;/li&gt;
&lt;li&gt;支持搜索&lt;/li&gt;
&lt;li&gt;支持自定义 (因为我要做 &lt;code&gt;行展开&lt;/code&gt; 然后对行的数据进行操作)&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;之前用 &lt;a href="http://www.javascriptmvc.com" rel="nofollow" target="_blank" title=""&gt;JavascriptMVC&lt;/a&gt; 和 &lt;a href="http://datatables.net/" rel="nofollow" target="_blank" title=""&gt;DataTables&lt;/a&gt; 很容易实现这样的功能 , 单纯 &lt;code&gt;Rails&lt;/code&gt; 是否有 &lt;code&gt;Gem&lt;/code&gt; 或者 &lt;code&gt;Helper&lt;/code&gt; 可以实现这样的需求 ?&lt;/p&gt;</description>
      <author>song940</author>
      <pubDate>Wed, 28 Aug 2013 11:44:30 +0800</pubDate>
      <link>https://ruby-china.org/topics/13689</link>
      <guid>https://ruby-china.org/topics/13689</guid>
    </item>
  </channel>
</rss>
