<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>fangxing204 (fangxing)</title>
    <link>https://ruby-china.org/fangxing204</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>有没有什么翻译软件支持自定义抓取内容</title>
      <description>&lt;p&gt;在用&lt;a href="https://quest-app.appspot.com/" rel="nofollow" target="_blank" title=""&gt;qTranslate&lt;/a&gt;, 虽然它支持的翻译服务很多，但是不能自定义，我希望给它一个 url 地址，告诉它规则，它给我显示我要的内容&lt;/p&gt;</description>
      <author>fangxing204</author>
      <pubDate>Sat, 06 Jul 2019 19:52:35 +0800</pubDate>
      <link>https://ruby-china.org/topics/38800</link>
      <guid>https://ruby-china.org/topics/38800</guid>
    </item>
    <item>
      <title>在 HN 上看到 tldr 这个项目，我想说点什么</title>
      <description>&lt;p&gt;&lt;a href="https://ruby-china.org/topics/33417" rel="nofollow" target="_blank"&gt;https://ruby-china.org/topics/33417&lt;/a&gt;。在这篇帖子里，我拿 tar 做例子，想说 man 的缺点。nightire 说是我英语不过关的原因，对就是这个原因，但就算我完全不会英语又怎么样呢，我为了解压这个 tar 文件，我要学英语把 tar 的 man 文件通读一遍吗，我自己觉得没必要，因为至今为止我还是只会 tar -xf，完全没有影响我使用 Linux。而 tldr 正是我当初想要的"man"，相见恨晚&lt;a href="https://github.com/tldr-pages/tldr/blob/master/README.md" rel="nofollow" target="_blank"&gt;https://github.com/tldr-pages/tldr/blob/master/README.md&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;手机码字，所以没有格式化，抱歉&lt;/p&gt;</description>
      <author>fangxing204</author>
      <pubDate>Sat, 01 Sep 2018 00:59:25 +0800</pubDate>
      <link>https://ruby-china.org/topics/37419</link>
      <guid>https://ruby-china.org/topics/37419</guid>
    </item>
    <item>
      <title>请问什么时候需要手动调用 clear_active_connections!()</title>
      <description>&lt;p&gt;以前公司的项目里面从来没看到过这个&lt;code&gt;ActiveRecord::Base.clear_active_connections!&lt;/code&gt;, 但是最近接触的一个项目里面看到好多这种代码。从 ActiveRecord 的文档我知道它是释放当前线程的 connections, 但是这不应该是自动的吗？&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;update_entries&lt;/span&gt;
  &lt;span class="c1"&gt;# 查询数据库中的记录&lt;/span&gt;
  &lt;span class="no"&gt;Entry&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;find_each&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;
      &lt;span class="c1"&gt;# 1. 调用第三方api, 查询记录信息&lt;/span&gt;
      &lt;span class="c1"&gt;# 2.  处理信息&lt;/span&gt;
      &lt;span class="c1"&gt;# 3. 保存&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;
  &lt;span class="no"&gt;ActiveRecord&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Base&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;clear_active_connections!&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;</description>
      <author>fangxing204</author>
      <pubDate>Thu, 14 Dec 2017 10:32:21 +0800</pubDate>
      <link>https://ruby-china.org/topics/34710</link>
      <guid>https://ruby-china.org/topics/34710</guid>
    </item>
    <item>
      <title>在 pry console 中使用 fzf 搜索历史命令</title>
      <description>&lt;p&gt;用了 fzf 之后感觉太好用了，但是工作经常使用 pry console, 网上也没有找到怎么将 fzf 用到 pry console 中，于是自己查资料，知道原来命令行有 Readline, zle(zsh line editor) 这种东西，然后找到了纯 ruby 的 Readline 实现，然后我覆写&lt;code&gt;RbReadline&lt;/code&gt;中的&lt;code&gt;rl_reverse_search_history&lt;/code&gt; 方法，在我的 pryrc 中添加了如下代码：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="c1"&gt;# ~/.pryrc&lt;/span&gt;
&lt;span class="nb"&gt;require&lt;/span&gt; &lt;span class="s1"&gt;'rb-readline'&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nc"&gt;RbReadline&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;rl_reverse_search_history&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sign&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
 &lt;span class="n"&gt;rl_insert_text&lt;/span&gt;  &lt;span class="sb"&gt;`cat ~/.pry_history | fzf --tac |  tr '&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="sb"&gt;' ' '`&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;启动 pry, 按下 Ctrl  +R , Cool !&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2017/6bbac35b-863b-4b7e-87e1-d34e1c986477.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;参考:
&lt;a href="https://sgeb.io/posts/2014/04/zsh-zle-custom-widgets/" rel="nofollow" target="_blank"&gt;https://sgeb.io/posts/2014/04/zsh-zle-custom-widgets/&lt;/a&gt;&lt;br&gt;
&lt;a href="http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html" rel="nofollow" target="_blank"&gt;http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html&lt;/a&gt;&lt;br&gt;
&lt;a href="http://bogojoker.com/readline/" rel="nofollow" target="_blank"&gt;http://bogojoker.com/readline/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://ruby-doc.org/stdlib-2.1.1/libdoc/readline/rdoc/Readline.html" rel="nofollow" target="_blank"&gt;https://ruby-doc.org/stdlib-2.1.1/libdoc/readline/rdoc/Readline.html&lt;/a&gt;&lt;/p&gt;</description>
      <author>fangxing204</author>
      <pubDate>Sat, 28 Oct 2017 23:31:16 +0800</pubDate>
      <link>https://ruby-china.org/topics/34453</link>
      <guid>https://ruby-china.org/topics/34453</guid>
    </item>
    <item>
      <title>一段加密信息被破密,如何知道解密是否正确</title>
      <description>&lt;p&gt;假设一段消息 &lt;code&gt;0011-1011 0011-1011&lt;/code&gt; 解密后为 &lt;code&gt;1011-1011 0111-1111&lt;/code&gt;, 你怎么知道这是解密成功了呢？&lt;/p&gt;</description>
      <author>fangxing204</author>
      <pubDate>Thu, 06 Jul 2017 20:36:47 +0800</pubDate>
      <link>https://ruby-china.org/topics/33414</link>
      <guid>https://ruby-china.org/topics/33414</guid>
    </item>
    <item>
      <title>Ruby 中 hash key 的问题， symbol key， string key</title>
      <description>&lt;p&gt;在 ruby 中 Hash 即可以用 symbol key 也可以用 string key。
作为一个新手，在不知道之前，真的很苦恼，踩过的坑有：sidekiq 中通常用 string key, 还有调用外部 api 返回 json 结果时也只能用 string key。
我知道有个方法可以把 string key 转成 symbol key，但是觉得的这么做不爽。
有没有方法，让 Hash 把 symbol key 和 string key 当成一样的呢？&lt;/p&gt;</description>
      <author>fangxing204</author>
      <pubDate>Thu, 04 May 2017 09:12:58 +0800</pubDate>
      <link>https://ruby-china.org/topics/32925</link>
      <guid>https://ruby-china.org/topics/32925</guid>
    </item>
    <item>
      <title>Rails 如何用一句 SQL 语句查询出记录总数和部分记录</title>
      <description>&lt;p&gt;想实现一个模糊搜索，对搜索结果需要分页，所以我需要满足条件的记录总数，同时又需要部分记录，能用一句代码做到吗？&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;users&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;User&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;where&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="no"&gt;User&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;arel_table&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:name&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nf"&gt;matches&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"%&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:search_string&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="p"&gt;)).&lt;/span&gt;&lt;span class="nf"&gt;order&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;:name&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;limit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;count&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;offset&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;count&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;page&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;</description>
      <author>fangxing204</author>
      <pubDate>Sat, 02 Jul 2016 20:59:46 +0800</pubDate>
      <link>https://ruby-china.org/topics/30431</link>
      <guid>https://ruby-china.org/topics/30431</guid>
    </item>
    <item>
      <title>carrierwave 多态 has_many nested 关联，取不到 attach</title>
      <description>&lt;p&gt;相关 model 和 controller&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;Info&lt;/span&gt;  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="no"&gt;ActiveRecord&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Base&lt;/span&gt;
  &lt;span class="n"&gt;has_many&lt;/span&gt; &lt;span class="ss"&gt;:attachments&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;as: :attached_item&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;dependent: &lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
  &lt;span class="n"&gt;accepts_nested_attributes_for&lt;/span&gt; &lt;span class="ss"&gt;:attachments&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;allow_destroy: &lt;/span&gt;&lt;span class="kp"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;reject_if: &lt;/span&gt;&lt;span class="nb"&gt;proc&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;attributes&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;attributes&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:attachment&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nf"&gt;nil?&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;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;class&lt;/span&gt;  &lt;span class="nc"&gt;Attachment&lt;/span&gt;  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="no"&gt;ActiveRecord&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Base&lt;/span&gt;
  &lt;span class="n"&gt;mount_uploader&lt;/span&gt; &lt;span class="ss"&gt;:attachment&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;AttachmentUploader&lt;/span&gt;
  &lt;span class="c1"&gt;# Associations&lt;/span&gt;
  &lt;span class="n"&gt;belongs_to&lt;/span&gt; &lt;span class="ss"&gt;:attached_item&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;polymorphic: &lt;/span&gt;&lt;span class="kp"&gt;true&lt;/span&gt;

  &lt;span class="c1"&gt;# Validations&lt;/span&gt;
  &lt;span class="c1"&gt;#validates_presence_of :attachment&lt;/span&gt;
  &lt;span class="n"&gt;validates_integrity_of&lt;/span&gt; &lt;span class="ss"&gt;:attachment&lt;/span&gt;

  &lt;span class="c1"&gt;# Callbacks&lt;/span&gt;
  &lt;span class="n"&gt;before_save&lt;/span&gt; &lt;span class="ss"&gt;:update_attachment_attributes&lt;/span&gt;

  &lt;span class="c1"&gt;# Delegate&lt;/span&gt;
  &lt;span class="n"&gt;delegate&lt;/span&gt; &lt;span class="ss"&gt;:url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:size&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:path&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;to: :attachment&lt;/span&gt;

  &lt;span class="c1"&gt;# Virtual attributes&lt;/span&gt;
  &lt;span class="n"&gt;alias_attribute&lt;/span&gt; &lt;span class="ss"&gt;:filename&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:original_filename&lt;/span&gt;

  &lt;span class="kp"&gt;private&lt;/span&gt;
  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;update_attachment_attributes&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;attachment&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;present?&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;attachment_changed?&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;original_filename&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;attachment&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;file&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;original_filename&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;content_type&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;attachment&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;file&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;content_type&lt;/span&gt;
    &lt;span class="k"&gt;end&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;class&lt;/span&gt;  &lt;span class="o"&gt;**&lt;/span&gt;&lt;span class="no"&gt;InfoController&lt;/span&gt;&lt;span class="o"&gt;**&lt;/span&gt;  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="no"&gt;ApplicationController&lt;/span&gt;
  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;create&lt;/span&gt;
    &lt;span class="n"&gt;info&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Info&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;info_params&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;attachs&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
  &lt;span class="c1"&gt;#  **这里没有执行, 我在控制台，取值是空，单独用attachmentController上传却成功了，且能正常显示**&lt;/span&gt;
    &lt;span class="n"&gt;info&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;attachments&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;each&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="o"&gt;|&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;attachs&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&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;attachment&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;url&lt;/span&gt;
      &lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="s2"&gt;"url ----------------------"&lt;/span&gt;      
      &lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="n"&gt;aattachment&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;url&lt;/span&gt;
    &lt;span class="k"&gt;end&lt;/span&gt;

    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;info&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;save&lt;/span&gt;
      &lt;span class="n"&gt;render&lt;/span&gt; &lt;span class="ss"&gt;json: &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="ss"&gt;flag: &lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;msg: &lt;/span&gt;&lt;span class="s2"&gt;"file upload success!"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="ss"&gt;attachment_url: &lt;/span&gt;&lt;span class="n"&gt;attachs&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="k"&gt;else&lt;/span&gt;
      &lt;span class="n"&gt;render&lt;/span&gt; &lt;span class="ss"&gt;json: &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="ss"&gt;flag: &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;msg: &lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;info&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;errors&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;, file upload failed,please upload again."&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="k"&gt;end&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;

  &lt;span class="kp"&gt;private&lt;/span&gt;
  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;info_params&lt;/span&gt;
    &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;permit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;:title&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:content&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="ss"&gt;attachments_attributes: &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:attachment&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:attachment_cache&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="c1"&gt;#这个上传正常显示&lt;/span&gt;
&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="o"&gt;**&lt;/span&gt; &lt;span class="no"&gt;AttachmentController&lt;/span&gt;&lt;span class="o"&gt;**&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="no"&gt;ApplicationController&lt;/span&gt;
  &lt;span class="c1"&gt;#skip_before_action :require_logi&lt;/span&gt;
  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;create&lt;/span&gt;
    &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Attachment&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt; &lt;span class="n"&gt;attachment_params&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt;
      &lt;span class="n"&gt;render&lt;/span&gt; &lt;span class="ss"&gt;json: &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="ss"&gt;flag: &lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;msg: &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;url&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="k"&gt;else&lt;/span&gt;
      &lt;span class="n"&gt;render&lt;/span&gt; &lt;span class="ss"&gt;json: &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="ss"&gt;flag: &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;msg: &lt;/span&gt;&lt;span class="s1"&gt;'fail'&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="k"&gt;end&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;

  &lt;span class="kp"&gt;private&lt;/span&gt;
  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;attachment_params&lt;/span&gt;
    &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;permit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;:attachment&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;AttachmentController&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="no"&gt;ApplicationController&lt;/span&gt;
  &lt;span class="c1"&gt;#skip_before_action :require_login&lt;/span&gt;

  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;create&lt;/span&gt;
    &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Attachment&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt; &lt;span class="n"&gt;attachment_params&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt;
      &lt;span class="n"&gt;render&lt;/span&gt; &lt;span class="ss"&gt;json: &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="ss"&gt;flag: &lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;msg: &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;url&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="k"&gt;else&lt;/span&gt;
      &lt;span class="n"&gt;render&lt;/span&gt; &lt;span class="ss"&gt;json: &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="ss"&gt;flag: &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;msg: &lt;/span&gt;&lt;span class="s1"&gt;'fail'&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="k"&gt;end&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;

  &lt;span class="kp"&gt;private&lt;/span&gt;

  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;attachment_params&lt;/span&gt;
    &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;permit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;:attachment&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="k"&gt;end&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>fangxing204</author>
      <pubDate>Sat, 09 Jan 2016 22:54:35 +0800</pubDate>
      <link>https://ruby-china.org/topics/28668</link>
      <guid>https://ruby-china.org/topics/28668</guid>
    </item>
    <item>
      <title>异步请求返回的 cookie，浏览器不存，但是用 postman 却可以</title>
      <description>&lt;p&gt;&lt;strong&gt;response&lt;/strong&gt;
HTTP/1.1 200 OK 
X-Frame-Options: SAMEORIGIN&lt;/p&gt;

&lt;p&gt;X-XSS-Protection: 1; mode=block&lt;/p&gt;

&lt;p&gt;X-Content-Type-Options: nosniff&lt;/p&gt;

&lt;p&gt;Content-Type: application/json; charset=utf-8&lt;/p&gt;

&lt;p&gt;Etag: W/"5b78d2950894805d6f862afebecfcb4b"&lt;/p&gt;

&lt;p&gt;Cache-Control: max-age=0, private, must-revalidate&lt;/p&gt;

&lt;p&gt;X-Request-Id: 285a145a-43a8-431f-8ab2-8053a2092d91&lt;/p&gt;

&lt;p&gt;X-Runtime: 0.321754&lt;/p&gt;

&lt;p&gt;Access-Control-Allow-Origin: &lt;a href="http://localhost" rel="nofollow" target="_blank"&gt;http://localhost&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Access-Control-Allow-Methods: GET, POST, OPTIONS&lt;/p&gt;

&lt;p&gt;Access-Control-Max-Age: 1728000&lt;/p&gt;

&lt;p&gt;Access-Control-Allow-Credentials: true&lt;/p&gt;

&lt;p&gt;Vary: Origin&lt;/p&gt;

&lt;p&gt;Server: WEBrick/1.3.1 (Ruby/2.2.1/2015-02-26)&lt;/p&gt;

&lt;p&gt;Date: Wed, 06 Jan 2016 14:37:40 GMT&lt;/p&gt;

&lt;p&gt;Content-Length: 164&lt;/p&gt;

&lt;p&gt;Connection: Keep-Alive&lt;/p&gt;

&lt;p&gt;Set-Cookie: request_method=POST; path=/
_rails_register_app_session=R3BXeUtwKzR4TnBnNGN1TUpnelR0SG5FOVNqU0dSa2U2SU9ESTYvSjJiOGVKT01GNG1nNzFyTVJ2ZmQ1L0ZQNDFhTXgySXNrQVJUK0syYW1CYnpaU1E9PS0tWlNhajZsc3dwRUQ0OW1wMzZoaFBuUT09--f1
------------------------我是分界限----------------------
&lt;strong&gt;我用异步请求登录&lt;/strong&gt;
$.post('http:localhost/login',"name=xxx&amp;amp;passwd=xxxx")
登录成功后_rails_register_app_session 没有被保存，（页面不再 rails app 内）
但是用 chrome 的 postman 却有效&lt;/p&gt;</description>
      <author>fangxing204</author>
      <pubDate>Wed, 06 Jan 2016 22:59:24 +0800</pubDate>
      <link>https://ruby-china.org/topics/28632</link>
      <guid>https://ruby-china.org/topics/28632</guid>
    </item>
    <item>
      <title>返回给前段数据后，怎么在转发</title>
      <description>&lt;p&gt;公司前后端分离，返回数据后怎么转发？
我这样写的&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;render&lt;/span&gt; &lt;span class="ss"&gt;json:  &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="ss"&gt;msg: &lt;/span&gt;&lt;span class="err"&gt;“&lt;/span&gt;&lt;span class="n"&gt;xxxxx&lt;/span&gt;&lt;span class="err"&gt;”&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="n"&gt;redirect_to&lt;/span&gt;  &lt;span class="s1"&gt;'/home'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;会有 &lt;code&gt;Render and/or redirect were called multiple times in this action&lt;/code&gt;  错误&lt;/p&gt;</description>
      <author>fangxing204</author>
      <pubDate>Sun, 20 Dec 2015 22:39:55 +0800</pubDate>
      <link>https://ruby-china.org/topics/28470</link>
      <guid>https://ruby-china.org/topics/28470</guid>
    </item>
  </channel>
</rss>
