<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>ikebukuro</title>
    <link>https://ruby-china.org/ikebukuro</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>Ruby 代码加密工具有哪些？</title>
      <description>&lt;p&gt;&lt;a href="http://rubyencoder.com" rel="nofollow" target="_blank" title=""&gt;Ruby Encoder&lt;/a&gt; 是收费软件，还有其他的选择吗？&lt;/p&gt;</description>
      <author>ikebukuro</author>
      <pubDate>Sun, 05 Aug 2012 06:33:31 +0800</pubDate>
      <link>https://ruby-china.org/topics/4741</link>
      <guid>https://ruby-china.org/topics/4741</guid>
    </item>
    <item>
      <title>关于 Rails 的 ActionController::Renderers，CSV 的 filename 设定问题</title>
      <description>&lt;p&gt;在官方网站
&lt;a href="http://api.rubyonrails.org/classes/ActionController/Renderers.html" rel="nofollow" target="_blank"&gt;http://api.rubyonrails.org/classes/ActionController/Renderers.html&lt;/a&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;show&lt;/span&gt;
  &lt;span class="vi"&gt;@csvable&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Csvable&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;find&lt;/span&gt;&lt;span class="p"&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;:id&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
  &lt;span class="n"&gt;respond_to&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="nb"&gt;format&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;
    &lt;span class="nb"&gt;format&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;html&lt;/span&gt;
    &lt;span class="nb"&gt;format&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;csv&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="n"&gt;render&lt;/span&gt; &lt;span class="ss"&gt;:csv&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="vi"&gt;@csvable&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:filename&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="vi"&gt;@csvable.name&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;在自己的项目中这样写&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="nb"&gt;format&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;csv&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="n"&gt;render&lt;/span&gt; &lt;span class="ss"&gt;:csv&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="vi"&gt;@products&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:filename&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;"mycsv.csv"&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;结果以那个控制器的名字（product）下载了文件‘product.csv’。
为什么自己指定的文件名没有起作用呢？  &lt;/p&gt;</description>
      <author>ikebukuro</author>
      <pubDate>Fri, 01 Jun 2012 13:55:19 +0800</pubDate>
      <link>https://ruby-china.org/topics/3598</link>
      <guid>https://ruby-china.org/topics/3598</guid>
    </item>
    <item>
      <title>[已解决] 如何得到查询记录的前一条或后一条数据？</title>
      <description>&lt;p&gt;有这样的需求：&lt;/p&gt;

&lt;p&gt;在查询数据列表中，用户可以自己对数据排序，比如把中间的某条数据向上移动一位或向下移动一位，并把这种操作结果保存到数据库中。&lt;/p&gt;

&lt;p&gt;得到用户指定的那条数据后，还想得到那一条的前一条和后一条数据，当然是想更新相应字段，用 Rails 的&lt;strong&gt;Active Record Query&lt;/strong&gt;方法如何做到呢？&lt;/p&gt;

&lt;p&gt;看了下&lt;strong&gt;Active Record Query Interface&lt;/strong&gt;
&lt;a href="http://guides.rubyonrails.org/active_record_querying.html" rel="nofollow" target="_blank"&gt;http://guides.rubyonrails.org/active_record_querying.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;没找到类似&lt;code&gt;previous&lt;/code&gt;、&lt;code&gt;next&lt;/code&gt;的方法。&lt;/p&gt;

&lt;p&gt;注：如果用 ID 去查，有相关记录被删除的情况，所以 ID+1、-1 的方案放弃。  &lt;/p&gt;</description>
      <author>ikebukuro</author>
      <pubDate>Fri, 25 May 2012 10:30:11 +0800</pubDate>
      <link>https://ruby-china.org/topics/3485</link>
      <guid>https://ruby-china.org/topics/3485</guid>
    </item>
    <item>
      <title>关于 Devise 的验证返回 URL 路径问题</title>
      <description>&lt;p&gt;WEB 服务器是 Apache + Passenger&lt;/p&gt;

&lt;p&gt;Apache 的 virtualhost 的配置：
vi /etc/httpd/conf.d/virtualhost.conf&lt;/p&gt;
&lt;pre class="highlight apache"&gt;&lt;code&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nl"&gt;VirtualHost&lt;/span&gt;&lt;span class="sr"&gt; *:80&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;
&lt;/span&gt;  &lt;span class="nc"&gt;ServerName&lt;/span&gt; my-domain.com
  &lt;span class="nc"&gt;DocumentRoot&lt;/span&gt; /var/www/html/
  RailsBaseURI /project
&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nl"&gt;VirtualHost&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这样访问程序的 URL 就是：
&lt;a href="http://my-domain.com/project/" rel="nofollow" target="_blank"&gt;http://my-domain.com/project/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;用 Devise，在子目录中做登录与否验证，如：
&lt;a href="http://my-domain.com/project/member/admin" rel="nofollow" target="_blank"&gt;http://my-domain.com/project/member/admin&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;如果用户没登录，跳转到登录页面，应该为：
&lt;a href="http://my-domain.com/project/users/sign_in" rel="nofollow" target="_blank"&gt;http://my-domain.com/project/users/sign_in&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;结果却是：
&lt;a href="http://my-domain.com/users/sign_in" rel="nofollow" target="_blank"&gt;http://my-domain.com/users/sign_in&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;这显然错了。为什么这样呢？&lt;/p&gt;

&lt;p&gt;试了 3 种 Devise 与 CanCan 的验证方式，代码如下：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;UsersController&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="mi"&gt;2&lt;/span&gt;   &lt;span class="n"&gt;before_filter&lt;/span&gt; &lt;span class="ss"&gt;:authenticate_user!&lt;/span&gt;
&lt;span class="mi"&gt;3&lt;/span&gt;   &lt;span class="c1"&gt;# Second Authorization Example: with CanCan&lt;/span&gt;
&lt;span class="mi"&gt;4&lt;/span&gt;   &lt;span class="c1"&gt;# load_and_authorize_resource :only =&amp;gt; :index&lt;/span&gt;
&lt;span class="mi"&gt;5&lt;/span&gt;   &lt;span class="c1"&gt;# Third Authorization Example: without CanCan&lt;/span&gt;
&lt;span class="mi"&gt;6&lt;/span&gt;   &lt;span class="c1"&gt;# before_filter :only_allow_admin, :only =&amp;gt; [ :index ]&lt;/span&gt;
&lt;span class="mi"&gt;7&lt;/span&gt; &lt;span class="err"&gt;（&lt;/span&gt;&lt;span class="n"&gt;略&lt;/span&gt;&lt;span class="err"&gt;）&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;结果都一样，应该和这个无关，问题出在哪呢？  &lt;/p&gt;</description>
      <author>ikebukuro</author>
      <pubDate>Sun, 13 May 2012 15:03:35 +0800</pubDate>
      <link>https://ruby-china.org/topics/3246</link>
      <guid>https://ruby-china.org/topics/3246</guid>
    </item>
    <item>
      <title>[已解决] Rails 多版本安装后的怪问题</title>
      <description>&lt;p&gt;按照 Wiki 内容：
&lt;a href="http://ruby-china.org/wiki/install_ruby_guide" rel="nofollow" target="_blank"&gt;http://ruby-china.org/wiki/install_ruby_guide&lt;/a&gt;
在在 Ubuntu 12.04 上安装了 Ruby on Rails 环境。
&lt;code&gt;$ source ~/.bash_profile&lt;/code&gt;&lt;strong&gt;这一步改成了&lt;/strong&gt;&lt;code&gt;$ source ~/.rvm/scripts/rvm&lt;/code&gt;
默认的 Rails 3.2.3 没问题，在另一个程序下 bundle 安装又一个版本 3.1.3 后，在项目下执行&lt;code&gt;rails s&lt;/code&gt;就提示：&lt;/p&gt;

&lt;p&gt;rails 程序还没有安装。输入以下命令可以安装：
sudo apt-get install rails&lt;/p&gt;

&lt;p&gt;这是怎么回事？  &lt;/p&gt;</description>
      <author>ikebukuro</author>
      <pubDate>Wed, 09 May 2012 19:37:52 +0800</pubDate>
      <link>https://ruby-china.org/topics/3162</link>
      <guid>https://ruby-china.org/topics/3162</guid>
    </item>
    <item>
      <title>如何取得查询结果的每条数据行所在索引？</title>
      <description>&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="vi"&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;find_by_sql&lt;/span&gt; &lt;span class="n"&gt;sql&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;方式取得的数据，&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="vi"&gt;@users.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;user&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;
&lt;span class="c1"&gt;# ...&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>ikebukuro</author>
      <pubDate>Wed, 18 Apr 2012 15:25:33 +0800</pubDate>
      <link>https://ruby-china.org/topics/2688</link>
      <guid>https://ruby-china.org/topics/2688</guid>
    </item>
    <item>
      <title>代码行数统计命令</title>
      <description>&lt;p&gt;一个项目中的控制器、模型、视图等分别有多少代码，一个统计的命令是？  &lt;/p&gt;</description>
      <author>ikebukuro</author>
      <pubDate>Tue, 17 Apr 2012 10:35:16 +0800</pubDate>
      <link>https://ruby-china.org/topics/2650</link>
      <guid>https://ruby-china.org/topics/2650</guid>
    </item>
  </channel>
</rss>
