<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>danielfeng (Danielfeng)</title>
    <link>https://ruby-china.org/danielfeng</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>Rails 简单搜索求教</title>
      <description>&lt;p&gt;需求：想实现通过 view 传递搜索关键字到 controller，进行变量 select，最终改变变量反馈到 view。各位大神有啥好方法。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;在 view 中加入以下代码
&lt;code&gt;ruby
&amp;lt;%= form_tag("/search", method: :get) do %&amp;gt;
&amp;lt;%= text_field_tag :search, params[:search], class: 'form-control search', placeholder: "search..." %&amp;gt;
&amp;lt;% end %&amp;gt;
&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;在 controller 中下了如下代码
&lt;code&gt;ruby
def search
@cm = @cma.select { |k,j| k =~/#{params[:search]}/ }
render "index"
end
def index
 @cma = list.select {|k,j| k =~/cm/ }
 .......
end
&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;但执行搜索时候报错
&lt;code&gt;
undefined method `each' for nil:NilClass  
&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;</description>
      <author>danielfeng</author>
      <pubDate>Mon, 04 Jan 2016 21:56:41 +0800</pubDate>
      <link>https://ruby-china.org/topics/28608</link>
      <guid>https://ruby-china.org/topics/28608</guid>
    </item>
    <item>
      <title>Ruby 数组值修改</title>
      <description>&lt;p&gt;求教各位大侠，将以下数组修改成如下，ruby 应该怎么写？感谢。&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[["v", 10480], ["dd", 10350], ["aa", 10250]]
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;修改如下&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[["v", 104], ["dd", 103], ["aa", 102]]
&lt;/code&gt;&lt;/pre&gt;</description>
      <author>danielfeng</author>
      <pubDate>Sat, 22 Aug 2015 21:03:08 +0800</pubDate>
      <link>https://ruby-china.org/topics/27037</link>
      <guid>https://ruby-china.org/topics/27037</guid>
    </item>
    <item>
      <title>能否跳过 rails socket Connection refused 而导致整个程序停止运行？</title>
      <description>&lt;p&gt;菜鸟请教换一个问题，写了个简单 rails 程序回去连接端口获得到数据，目前出现换一台关闭后 rails 就出现如下报错，是否 rails 可以忽略 socket 连接不上？
Connection refused - connect(2) for 192.168.1.9:2375 (Errno::ECONNREFUSED)&lt;/p&gt;</description>
      <author>danielfeng</author>
      <pubDate>Wed, 27 May 2015 17:51:09 +0800</pubDate>
      <link>https://ruby-china.org/topics/25770</link>
      <guid>https://ruby-china.org/topics/25770</guid>
    </item>
    <item>
      <title>求教多重 hash 如何取值</title>
      <description>&lt;p&gt;求教如何在如下数据中取 PublicPort 或 Image&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[#&amp;lt;Docker::Container:0x00000005195578 @id="8aba2f87cdf5e5d340f30fef8e5df8f58d990eab1c70583d4fef3a8fa83de3f2", @info={"Command"=&amp;gt;"/bin/bash", "Created"=&amp;gt;1427722904, "Image"=&amp;gt;"ddddd:latest", "Names"=&amp;gt;["/clever_pike"], "Ports"=&amp;gt;[{"IP"=&amp;gt;"0.0.0.0", "PrivatePort"=&amp;gt;80, "PublicPort"=&amp;gt;10280, "Type"=&amp;gt;"tcp"}], "Status"=&amp;gt;"Up 10 days", "id"=&amp;gt;"8aba2f87cdf5e5d340f30fef8e5df8f58d990eab1c70583d4fef3a8fa83de3f2"}, @connection=#&amp;lt;Docker::Connection:0x00000004aaadf8 @url="unix:///", @options={:socket=&amp;gt;"/var/run/docker.sock"}&amp;gt;&amp;gt;, #&amp;lt;Docker::Container:0x00000005195488 @id="c95642d254f1b716debbc8f5381b1234aff69c92db87a43e9b6f64216d1471b3", @info={"Command"=&amp;gt;"/bin/bash", "Created"=&amp;gt;1427722902, "Image"=&amp;gt;"bbbbbbb:latest", "Names"=&amp;gt;["/serene_heisenberg"], "Ports"=&amp;gt;[{"IP"=&amp;gt;"0.0.0.0", "PrivatePort"=&amp;gt;80, "PublicPort"=&amp;gt;10180, "Type"=&amp;gt;"tcp"}], "Status"=&amp;gt;"Up 10 days", "id"=&amp;gt;"c95642d254f1b716debbc8f5381b1234aff69c92db87a43e9b6f64216d1471b3"}, @connection=#&amp;lt;Docker::Connection:0x00000004aaadf8 @url="unix:///", @options={:socket=&amp;gt;"/var/run/docker.sock"}&amp;gt;&amp;gt;]
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;以上直接调用 docker-api，d=Docker::Container.all 获得，相应源代码如下。&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nc"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;all&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;opts&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{},&lt;/span&gt; &lt;span class="n"&gt;conn&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Docker&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;connection&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;hashes&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Docker&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Util&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;parse_json&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;conn&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/containers/json'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;opts&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
    &lt;span class="n"&gt;hashes&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;map&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="nb"&gt;hash&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;new&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;conn&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;hash&lt;/span&gt;&lt;span class="p"&gt;)&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;通过 pp 结果输出如下&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[#&amp;lt;Docker::Container:0x007fe34c722018
 @connection=
  #&amp;lt;Docker::Connection:0x007fe34d353af8
   @options={:socket=&amp;gt;"/var/run/docker.sock"},
   @url="unix:///"&amp;gt;,
 @id="c95642d254f1b716debbc8f5381b1234aff69c92db87a43e9b6f64216d1471b3",
 @info=
  {"Command"=&amp;gt;"/bin/bash",
   "Created"=&amp;gt;1427722902,
   "Image"=&amp;gt;"dddd:latest",
   "Names"=&amp;gt;["/serene_heisenberg"],
   "Ports"=&amp;gt;
    [{"IP"=&amp;gt;"0.0.0.0",
      "PrivatePort"=&amp;gt;80,
      "PublicPort"=&amp;gt;10180,
      "Type"=&amp;gt;"tcp"}],
   "Status"=&amp;gt;"Up 12 days",
   "id"=&amp;gt;"c95642d254f1b716debbc8f5381b1234aff69c92db87a43e9b6f64216d1471b3"}&amp;gt;,
#&amp;lt;Docker::Container:0x007fe34c721f28
 @connection=
  #&amp;lt;Docker::Connection:0x007fe34d353af8
   @options={:socket=&amp;gt;"/var/run/docker.sock"},
   @url="unix:///"&amp;gt;,
 @id="5583df725fa5917eee6609210fee422d6d1d0059f8a9c630bdbf407d6cd014fc",
 @info=
  {"Command"=&amp;gt;"/bin/bash",
   "Created"=&amp;gt;1427722900,
   "Image"=&amp;gt;"vvvvv:latest",
   "Names"=&amp;gt;["/adoring_franklin"],
   "Ports"=&amp;gt;
    [{"IP"=&amp;gt;"0.0.0.0",
      "PrivatePort"=&amp;gt;80,
      "PublicPort"=&amp;gt;10080,
      "Type"=&amp;gt;"tcp"}],
   "Status"=&amp;gt;"Up 12 days",
   "id"=&amp;gt;"5583df725fa5917eee6609210fee422d6d1d0059f8a9c630bdbf407d6cd014fc"}&amp;gt;]
&lt;/code&gt;&lt;/pre&gt;</description>
      <author>danielfeng</author>
      <pubDate>Sat, 11 Apr 2015 21:23:07 +0800</pubDate>
      <link>https://ruby-china.org/topics/25100</link>
      <guid>https://ruby-china.org/topics/25100</guid>
    </item>
    <item>
      <title>ruby 读取配置文件 (更新方法)</title>
      <description>&lt;p&gt;求教 ruby 去读取一个配置文件，如读取 mysql 帐号密码，有啥简单方法，直接 file？
目前用 parseconfig 解决，方法如下&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="c1"&gt;#!/usr/bin/env ruby&lt;/span&gt;

&lt;span class="nb"&gt;require&lt;/span&gt; &lt;span class="s2"&gt;"rubygems"&lt;/span&gt;
&lt;span class="nb"&gt;require&lt;/span&gt; &lt;span class="s2"&gt;"parseconfig.rb"&lt;/span&gt;

&lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="no"&gt;ParseConfig&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="s1"&gt;'./datasources.cf'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'cm_logs_db'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s1"&gt;'Port'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;</description>
      <author>danielfeng</author>
      <pubDate>Tue, 28 May 2013 09:37:13 +0800</pubDate>
      <link>https://ruby-china.org/topics/11278</link>
      <guid>https://ruby-china.org/topics/11278</guid>
    </item>
    <item>
      <title>关于密码找回</title>
      <description>&lt;p&gt;不知密码找回是否存在问题，前面把密码忘了，测试了两次密码找回都没收到重置密码的邮件。不过刚又记起密码。发个贴问问。       &lt;a href="/lgn21st" class="user-mention" title="@lgn21st"&gt;&lt;i&gt;@&lt;/i&gt;lgn21st&lt;/a&gt;&lt;/p&gt;</description>
      <author>danielfeng</author>
      <pubDate>Thu, 22 Nov 2012 10:11:05 +0800</pubDate>
      <link>https://ruby-china.org/topics/6990</link>
      <guid>https://ruby-china.org/topics/6990</guid>
    </item>
  </channel>
</rss>
