<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>lshgood (lshgo)</title>
    <link>https://ruby-china.org/lshgood</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>模型装饰 draper gem 包 </title>
      <description>&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gem 'draper', '~&amp;gt; 1.0'
&lt;/code&gt;&lt;/pre&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# app/models/article.rb

class  Article &amp;lt; ActiveRecord::Base
    attr_accessible :publication_status
end
&lt;/code&gt;&lt;/pre&gt;&lt;pre class="highlight html"&gt;&lt;code&gt;# app/controllers/articles_controller.rb

def show
   @article = Article.find(params[:id]).decorate   #----
end
&lt;/code&gt;&lt;/pre&gt;&lt;pre class="highlight html"&gt;&lt;code&gt;# app/decorators/article_decorator.rb

class ArticleDecorator &lt;span class="nt"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nt"&gt;Draper::Decorator&lt;/span&gt;
    &lt;span class="na"&gt;delegate_all&lt;/span&gt;

    &lt;span class="na"&gt;def&lt;/span&gt; &lt;span class="na"&gt;publication_status&lt;/span&gt;
        &lt;span class="na"&gt;if&lt;/span&gt; &lt;span class="na"&gt;published&lt;/span&gt;&lt;span class="err"&gt;?&lt;/span&gt;
           &lt;span class="err"&gt;"&lt;/span&gt;&lt;span class="na"&gt;Published&lt;/span&gt; &lt;span class="na"&gt;at&lt;/span&gt; &lt;span class="na"&gt;#&lt;/span&gt;&lt;span class="err"&gt;{&lt;/span&gt;&lt;span class="na"&gt;published_at&lt;/span&gt;&lt;span class="err"&gt;}"&lt;/span&gt;
        &lt;span class="na"&gt;else&lt;/span&gt;
          &lt;span class="err"&gt;"&lt;/span&gt;&lt;span class="na"&gt;Unpublished&lt;/span&gt;&lt;span class="err"&gt;"&lt;/span&gt;
        &lt;span class="na"&gt;end&lt;/span&gt;
     &lt;span class="na"&gt;end&lt;/span&gt;

    &lt;span class="na"&gt;def&lt;/span&gt; &lt;span class="na"&gt;published_at&lt;/span&gt;
        &lt;span class="na"&gt;source.published_at.strftime&lt;/span&gt;&lt;span class="err"&gt;("%&lt;/span&gt;&lt;span class="na"&gt;A&lt;/span&gt;&lt;span class="err"&gt;,&lt;/span&gt; &lt;span class="err"&gt;%&lt;/span&gt;&lt;span class="na"&gt;B&lt;/span&gt; &lt;span class="err"&gt;%&lt;/span&gt;&lt;span class="na"&gt;e&lt;/span&gt;&lt;span class="err"&gt;")&lt;/span&gt;
     &lt;span class="na"&gt;end&lt;/span&gt;
&lt;span class="na"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;就可以这样用了&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;%= @article.publication_status %&amp;gt;
&lt;/code&gt;&lt;/pre&gt;</description>
      <author>lshgood</author>
      <pubDate>Thu, 14 Mar 2013 10:57:03 +0800</pubDate>
      <link>https://ruby-china.org/topics/9406</link>
      <guid>https://ruby-china.org/topics/9406</guid>
    </item>
    <item>
      <title>simple_form Custom inputs</title>
      <description>&lt;p&gt;&lt;a href="https://github.com/lshgo/simple_form_chosen" rel="nofollow" target="_blank"&gt;https://github.com/lshgo/simple_form_chosen&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="simple_form Custom inputs 还不错"&gt;simple_form Custom inputs 还不错&lt;/h2&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt; # app/inputs/chosen_input.rb

 class ChosenInput &amp;lt; SimpleForm::Inputs::Base
  def input
    # "$ #{@builder.text_field(attribute_name, input_html_options)}".html_safe 
  end
end
&lt;/code&gt;&lt;/pre&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;f.input :money, :as =&amp;gt; :chosen
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="collection 集合."&gt;collection 集合。&lt;/h2&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# app/inputs/collection_select_input.rb

class CollectionSelectInput &amp;lt; SimpleForm::Inputs::CollectionSelectInput
  def input_html_classes
    super.push('chosen')
  end
end
&lt;/code&gt;&lt;/pre&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;f.input :money, :as =&amp;gt; :collection, :collection =&amp;gt;
&lt;/code&gt;&lt;/pre&gt;</description>
      <author>lshgood</author>
      <pubDate>Wed, 16 Jan 2013 15:23:34 +0800</pubDate>
      <link>https://ruby-china.org/topics/8116</link>
      <guid>https://ruby-china.org/topics/8116</guid>
    </item>
    <item>
      <title>jquery-chosen 选择框插件</title>
      <description>&lt;p&gt;Chosen 是一个 JavaScript 插件，它能让丑陋的、很长的 select 选择框变的更好看、更方便，不仅如此，它更扩大了，增长了主动筛选的功能。它可对列表进行分组，同时也可禁用某些选择项。目前，它支持 jQuery 和 Prototype 两种 JavaScript 引擎。&lt;/p&gt;

&lt;p&gt;&lt;a href="http://harvesthq.github.com/chosen/" rel="nofollow" target="_blank"&gt;http://harvesthq.github.com/chosen/&lt;/a&gt;   &lt;/p&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;select&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"chzn-select"&lt;/span&gt; &lt;span class="na"&gt;data-placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Choose a Country"&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"width:350px;"&lt;/span&gt; &lt;span class="na"&gt;tabindex=&lt;/span&gt;&lt;span class="s"&gt;"1"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt; 
               &lt;span class="nt"&gt;&amp;lt;option&lt;/span&gt; &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;""&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/option&amp;gt;&lt;/span&gt;  
               &lt;span class="nt"&gt;&amp;lt;option&lt;/span&gt; &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;"United States"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;United States&lt;span class="nt"&gt;&amp;lt;/option&amp;gt;&lt;/span&gt;  
               &lt;span class="nt"&gt;&amp;lt;option&lt;/span&gt; &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;"United Kingdom"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;United Kingdom&lt;span class="nt"&gt;&amp;lt;/option&amp;gt;&lt;/span&gt;  
               &lt;span class="nt"&gt;&amp;lt;option&lt;/span&gt; &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;"Afghanistan"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Afghanistan&lt;span class="nt"&gt;&amp;lt;/option&amp;gt;&lt;/span&gt;  
               &lt;span class="nt"&gt;&amp;lt;option&lt;/span&gt; &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;"Albania"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Albania&lt;span class="nt"&gt;&amp;lt;/option&amp;gt;&lt;/span&gt;  
&lt;span class="nt"&gt;&amp;lt;/select&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;br&gt;
初始化：&lt;/p&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;$(".chzn-select").chosen();
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;br&gt;
&lt;img src="//l.ruby-china.com/photo/6e655535ef964c71cd7ff07c98df3f99.gif" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;

&lt;h2&gt;js 参数设置&lt;/h2&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
 &amp;nbsp;&amp;nbsp;在调用 chosen（）办法时，我们可以设置一些参数： 
&lt;br&gt;&lt;br&gt;
选项                             描述
no_results_text            无搜刮成果显示的文本
allow_single_de            是否容许作废选择
max_ed_options             当为多选时，最多选择个数&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&amp;nbsp;搜不到时，提示：
&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt; $（".chzn-select"）.chosen（{ 
                                      no_results_text: "没有找到"，
                                      allow_single_de: true
}）;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;事务
&lt;br&gt;&lt;br&gt;
  a）change 事务：&lt;/p&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;$（".chzn-select"）.chosen（）.change（function（）{
   ......
}）;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;br&gt;&lt;br&gt;
 b）当我们须要动态更新下的选择项时，只要在更新选择项后触发 Chosen 中的 liszt:d 事务就可以了：   
&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;$（".chzn-select"）.html（""...&lt;span class="nt"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;%&lt;/span&gt;&lt;span class="na"&gt;option&lt;/span&gt;&lt;span class="err"&gt;%&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;china&lt;span class="nt"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;%/&lt;/span&gt;&lt;span class="na"&gt;option&lt;/span&gt;&lt;span class="err"&gt;%&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;...""）;
$（".chzn-select"）.trigger（"liszt:d"）;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;br&gt;&lt;br&gt;
 若是不想要搜刮框的话，用 css 把它隐蔽掉：&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;.chzn-container-single .chzn-search {
    display: none;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;br&gt;&lt;br&gt;
 &amp;nbsp;&amp;nbsp;提示下： &lt;br&gt;&lt;br&gt;&lt;/p&gt;

&lt;p&gt;ie6 和 ie7 直接返回对象本身，看 chosen.jquery.js：&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;if ($.browser.msie &lt;span class="err"&gt;&amp;amp;&amp;amp;&lt;/span&gt; ($.browser.version === "6.0" || ($.browser.version === "7.0" &lt;span class="err"&gt;&amp;amp;&amp;amp;&lt;/span&gt; document.documentMode === 7))) {
        return this;
}
&lt;/code&gt;&lt;/pre&gt;</description>
      <author>lshgood</author>
      <pubDate>Sat, 12 Jan 2013 11:26:32 +0800</pubDate>
      <link>https://ruby-china.org/topics/8013</link>
      <guid>https://ruby-china.org/topics/8013</guid>
    </item>
    <item>
      <title>nginx + passenger  passenger 报错了</title>
      <description>&lt;p&gt;Ruby (Rack) application could not be started&lt;/p&gt;

&lt;p&gt;These are the possible causes:
There may be a syntax error in the application's code. Please check for such errors and fix them.
A required library may not installed. Please install all libraries that this application requires.
The application may not be properly configured. Please check whether all configuration files are written correctly, fix any incorrect configurations, and restart this application.
A service that the application relies on (such as the database server or the Ferret search engine server) may not have been started. Please start that service.
Further information about the error may have been written to the application's log file. Please check it in order to analyse the problem.&lt;/p&gt;

&lt;p&gt;Error message:&lt;/p&gt;

&lt;p&gt;You passed :github as an option for gem 'mongoid_colored_logger', but it is invalid. (Bundler::InvalidOption)&lt;/p&gt;

&lt;p&gt;Exception class:
PhusionPassenger::UnknownError&lt;/p&gt;

&lt;p&gt;请问，这样的错出在那里，谢 
nginx + passenger 访问服务器报的。&lt;/p&gt;</description>
      <author>lshgood</author>
      <pubDate>Wed, 26 Sep 2012 18:08:12 +0800</pubDate>
      <link>https://ruby-china.org/topics/5767</link>
      <guid>https://ruby-china.org/topics/5767</guid>
    </item>
  </channel>
</rss>
