<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>douya0808 (姚放)</title>
    <link>https://ruby-china.org/douya0808</link>
    <description>いろいろな冒険をしたね</description>
    <language>en-us</language>
    <item>
      <title>CoffeeScript：关于 class 中的 constructor《深入浅出 CoffeeScript》p56</title>
      <description>&lt;p&gt;p56 页写有一句话
"默认情况下，类的属性 (除了 constructor) 都会附加到原型上"&lt;/p&gt;

&lt;p&gt;然后 p57 有一段关于 extends 的示例程序&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;Pet&lt;/span&gt;
   &lt;span class="n"&gt;constructor&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="vi"&gt;@isHungry&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kp"&gt;true&lt;/span&gt;
   &lt;span class="n"&gt;eat&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="vi"&gt;@isHungry&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kp"&gt;false&lt;/span&gt;

&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Dog&lt;/span&gt; &lt;span class="n"&gt;extends&lt;/span&gt; &lt;span class="no"&gt;Pet&lt;/span&gt;

&lt;span class="n"&gt;dog&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;new&lt;/span&gt; &lt;span class="no"&gt;Dog&lt;/span&gt;
&lt;span class="n"&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="no"&gt;Dog&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后书上又说"Dog 继承了 Pet 的构造函数"&lt;/p&gt;

&lt;p&gt;我的问题是，extends 本身就是原型继承，那如果 Pet 自己的原型中本身就没有 constructor，那 Dog 又是从哪继承来的构造函数呢？
然后我运行以上代码，输出的是{ isHungry: true }，疑？还真继承了？那就是说 Pet 的原型中有 constructor？那岂不是和 p56 说的自相矛盾么？&lt;/p&gt;

&lt;p&gt;请大哥们指点小弟&lt;/p&gt;</description>
      <author>douya0808</author>
      <pubDate>Mon, 06 May 2013 10:14:44 +0800</pubDate>
      <link>https://ruby-china.org/topics/10738</link>
      <guid>https://ruby-china.org/topics/10738</guid>
    </item>
    <item>
      <title>CoffeeScript：关于这里的 join (' ') --《深入浅出 CoffeeScript》p55</title>
      <description>&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Tribble&lt;/span&gt;
   &lt;span class="n"&gt;constructor&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;
      &lt;span class="vi"&gt;@isAlive&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kp"&gt;true&lt;/span&gt;
      &lt;span class="no"&gt;Tribble&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;count&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;

   &lt;span class="c1"&gt;#Prototype properties&lt;/span&gt;
   &lt;span class="n"&gt;breed&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;new&lt;/span&gt; &lt;span class="no"&gt;Tribble&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vi"&gt;@isAlive&lt;/span&gt;
   &lt;span class="n"&gt;die&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;
      &lt;span class="no"&gt;Tribble&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;count&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vi"&gt;@isAlive&lt;/span&gt;
      &lt;span class="vi"&gt;@isAlive&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kp"&gt;false&lt;/span&gt;

   &lt;span class="c1"&gt;#Class-level properties&lt;/span&gt;
   &lt;span class="vi"&gt;@count&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;
   &lt;span class="vi"&gt;@makeTrouble&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&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="s1"&gt;'Trouble!'&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;..&lt;/span&gt;&lt;span class="vi"&gt;@count&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="s1"&gt;' '&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="sr"&gt;/here! here!

   tribble1=new Tribble
   tribble2=new Tribble
   Tribble.makeTrouble()
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;//here! here! 行使用的列表解析最后返回的是个数组 [ 'Trouble!', 'Trouble!', 'Trouble!' ]
然后我们将数组进行 join(' ') 操作
期望的结果是 Trouble!, Trouble!, Trouble!，但是加上.join(' ') 后程序会报错如下&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="p"&gt;[&lt;/span&gt; &lt;span class="s1"&gt;'Trouble!'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'Trouble!'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'Trouble!'&lt;/span&gt; &lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="no"&gt;TypeError&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;Cannot&lt;/span&gt; &lt;span class="n"&gt;call&lt;/span&gt; &lt;span class="nb"&gt;method&lt;/span&gt; &lt;span class="s1"&gt;'join'&lt;/span&gt; &lt;span class="n"&gt;of&lt;/span&gt; &lt;span class="n"&gt;undefined&lt;/span&gt;
  &lt;span class="n"&gt;at&lt;/span&gt; &lt;span class="no"&gt;Function&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="no"&gt;Tribble&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;makeTrouble&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="no"&gt;C&lt;/span&gt;&lt;span class="p"&gt;:\&lt;/span&gt;&lt;span class="n"&gt;odd&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;coffee&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;14&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;19&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;js&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;38&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;13&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="n"&gt;at&lt;/span&gt; &lt;span class="no"&gt;C&lt;/span&gt;&lt;span class="p"&gt;:\&lt;/span&gt;&lt;span class="n"&gt;odd&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;coffee&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;18&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;js&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;45&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;13&lt;/span&gt;
  &lt;span class="n"&gt;at&lt;/span&gt; &lt;span class="no"&gt;Object&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;anonymous&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="no"&gt;C&lt;/span&gt;&lt;span class="p"&gt;:\&lt;/span&gt;&lt;span class="n"&gt;odd&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;coffee&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;js&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;49&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="n"&gt;at&lt;/span&gt; &lt;span class="no"&gt;Object&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;anonymous&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="no"&gt;C&lt;/span&gt;&lt;span class="p"&gt;:\&lt;/span&gt;&lt;span class="n"&gt;odd&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;coffee&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;51&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="n"&gt;at&lt;/span&gt; &lt;span class="no"&gt;Module&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;_compile&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;module&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;js&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;456&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;26&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;有前辈看这本书的时候遇到同样的问题吗&lt;/p&gt;</description>
      <author>douya0808</author>
      <pubDate>Mon, 06 May 2013 09:15:24 +0800</pubDate>
      <link>https://ruby-china.org/topics/10737</link>
      <guid>https://ruby-china.org/topics/10737</guid>
    </item>
    <item>
      <title>CoffeeScript error: unexpected POST_IF</title>
      <description>&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;odd&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;num&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;typeof&lt;/span&gt; &lt;span class="n"&gt;num&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="s1"&gt;'number'&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;num&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="no"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;round&lt;/span&gt; &lt;span class="n"&gt;num&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;num&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
           &lt;span class="n"&gt;num&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
        &lt;span class="k"&gt;else&lt;/span&gt;
           &lt;span class="kp"&gt;throw&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;num&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; is not positive"&lt;/span&gt;
        &lt;span class="k"&gt;else&lt;/span&gt; 
       &lt;span class="kp"&gt;throw&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;num&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; is not an integer"&lt;/span&gt;
    &lt;span class="k"&gt;else&lt;/span&gt; 
       &lt;span class="kp"&gt;throw&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;num&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; is not a number"&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="no"&gt;C&lt;/span&gt;&lt;span class="p"&gt;:\&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;coffee&lt;/span&gt; &lt;span class="n"&gt;odd&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;coffee&lt;/span&gt;
&lt;span class="n"&gt;odd&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;coffee&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="ss"&gt;error: &lt;/span&gt;&lt;span class="n"&gt;unexpected&lt;/span&gt; &lt;span class="no"&gt;POST_IF&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;typeof&lt;/span&gt; &lt;span class="n"&gt;num&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="s1"&gt;'number'&lt;/span&gt;
    &lt;span class="o"&gt;^^&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;来给我些关怀吧&lt;/p&gt;</description>
      <author>douya0808</author>
      <pubDate>Fri, 03 May 2013 17:13:23 +0800</pubDate>
      <link>https://ruby-china.org/topics/10685</link>
      <guid>https://ruby-china.org/topics/10685</guid>
    </item>
    <item>
      <title>关于 rails 读取 ajax 发送的 json 数据</title>
      <description>&lt;p&gt;发送过来的数据格式是个 json 数组，
然后 google 了下，说可以用 ActiveSupport::JSON.decode(json) 将 json 解析成 hash 格式&lt;/p&gt;

&lt;p&gt;但是发送过来的 json 数据是这样的：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="p"&gt;[&lt;/span&gt;
   &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nb"&gt;name&lt;/span&gt;&lt;span class="ss"&gt;:'稳妥'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;descn&lt;/span&gt;&lt;span class="ss"&gt;:'哈哈'&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
   &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nb"&gt;name&lt;/span&gt;&lt;span class="ss"&gt;:'大壮'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;descn&lt;/span&gt;&lt;span class="ss"&gt;:'嘿嘿'&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
   &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nb"&gt;name&lt;/span&gt;&lt;span class="ss"&gt;:'涛哥'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;descn&lt;/span&gt;&lt;span class="ss"&gt;:'哟哟'&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
   &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nb"&gt;name&lt;/span&gt;&lt;span class="ss"&gt;:'乐呵'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;descn&lt;/span&gt;&lt;span class="ss"&gt;:'乐乐'&lt;/span&gt;&lt;span class="p"&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 ruby"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nb"&gt;name&lt;/span&gt;&lt;span class="ss"&gt;:'稳妥'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;descn&lt;/span&gt;&lt;span class="ss"&gt;:'哈哈'&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nb"&gt;name&lt;/span&gt;&lt;span class="ss"&gt;:'大壮'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;descn&lt;/span&gt;&lt;span class="ss"&gt;:'嘿嘿'&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nb"&gt;name&lt;/span&gt;&lt;span class="ss"&gt;:'涛哥'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;descn&lt;/span&gt;&lt;span class="ss"&gt;:'哟哟'&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nb"&gt;name&lt;/span&gt;&lt;span class="ss"&gt;:'乐呵'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;descn&lt;/span&gt;&lt;span class="ss"&gt;:'乐乐'&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;




&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;我需要逐行解析，看哪一行有 id 哪一行没有:)
我该如何挨行解析呢？
前辈给说下思路吧:) 嘿嘿&lt;/p&gt;</description>
      <author>douya0808</author>
      <pubDate>Tue, 08 May 2012 19:47:24 +0800</pubDate>
      <link>https://ruby-china.org/topics/3155</link>
      <guid>https://ruby-china.org/topics/3155</guid>
    </item>
    <item>
      <title>经过五一仍未搞清这里为什么 Session 为空-.-</title>
      <description>&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="vi"&gt;@account&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="no"&gt;Account&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;find_by_username_and_password&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="vi"&gt;@username&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="vi"&gt;@password&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vi"&gt;@account&lt;/span&gt;
      &lt;span class="n"&gt;session&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:account&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="vi"&gt;@account&lt;/span&gt;&lt;span class="c1"&gt;#保存登录用户信息,再根据权限跳转相应页面&lt;/span&gt;

      &lt;span class="n"&gt;redirect_to&lt;/span&gt; &lt;span class="ss"&gt;:controller&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"teacher"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="ss"&gt;:action&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;"teacher"&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vi"&gt;@account.power&lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;
      &lt;span class="n"&gt;redirect_to&lt;/span&gt; &lt;span class="ss"&gt;:controller&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"student"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="ss"&gt;:action&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;"student"&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vi"&gt;@account.power&lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;student 登录后在 student.html.erb 中可以正常访问到 session&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sx"&gt;%=session[:account]%&amp;gt;


&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;student.html.erb 中有个 ext 的改密码按钮，请求路径为&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="ss"&gt;:'/student/changepw'&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;但是我在 def changepw 中却取不到 session 了&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;session&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:account&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;为空&lt;/p&gt;

&lt;p&gt;这是为什么呢？是 rails 中的 session 和以前的 java 有区别还是我理解错了 session 的本意呢？:)&lt;/p&gt;</description>
      <author>douya0808</author>
      <pubDate>Wed, 02 May 2012 14:28:15 +0800</pubDate>
      <link>https://ruby-china.org/topics/3025</link>
      <guid>https://ruby-china.org/topics/3025</guid>
    </item>
    <item>
      <title>很奇怪,Session 取值的问题</title>
      <description>&lt;p&gt;用户登录，根据字段 power 是 1 还是 2 判断用户的权限&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vi"&gt;@account&lt;/span&gt;
      &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vi"&gt;@account.power&lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;
        &lt;span class="n"&gt;session&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:admin&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="vi"&gt;@account&lt;/span&gt;
        &lt;span class="n"&gt;redirect_to&lt;/span&gt; &lt;span class="ss"&gt;:controller&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"admin"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="ss"&gt;:action&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;"admin"&lt;/span&gt;
      &lt;span class="k"&gt;end&lt;/span&gt;

       &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vi"&gt;@account.power&lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;
        &lt;span class="n"&gt;session&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:student&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="vi"&gt;@account&lt;/span&gt;
        &lt;span class="n"&gt;redirect_to&lt;/span&gt; &lt;span class="ss"&gt;:controller&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"student"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="ss"&gt;:action&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;"student"&lt;/span&gt;
      &lt;span class="k"&gt;end&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;:action&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;"error"&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;



&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后在 admin.html.erb 和 student.html.erb 中分别写相同的代码：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;admin&lt;/span&gt;&lt;span class="ss"&gt;:&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;%=&lt;/span&gt;&lt;span class="n"&gt;session&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:admin&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nf"&gt;username&lt;/span&gt;&lt;span class="o"&gt;%&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;br&lt;/span&gt;&lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="n"&gt;student&lt;/span&gt;&lt;span class="ss"&gt;:&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;%=&lt;/span&gt;&lt;span class="n"&gt;session&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:student&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nf"&gt;username&lt;/span&gt;&lt;span class="o"&gt;%&amp;gt;&lt;/span&gt;



&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后我把 admin 和 student 在同一浏览器的同一页面分别登录了一遍 (为了让 session[:admin] 和 session[:student] 都存有值)
如果我登录的是 student，那么我在 student.html.erb 中只能取得&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sx"&gt;%=session[:student].username%&amp;gt;



&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果我登录的是 admin，那么我在 admin.html.erb 中只能取得&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sx"&gt;%=session[:admin].username%&amp;gt;



&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;我这么作可能没什么实际意义 但是结果确实难住我了-.-
用不同身份登录把 session 都存了一遍，也没有清空 session 的操作，能正常跳转，也就是 redirect_to 被正常执行了上面的存 session 应该也正常，但是每个身份登录只能读取每个身份自己的 session-.-求普照  &lt;/p&gt;</description>
      <author>douya0808</author>
      <pubDate>Fri, 27 Apr 2012 09:04:28 +0800</pubDate>
      <link>https://ruby-china.org/topics/2924</link>
      <guid>https://ruby-china.org/topics/2924</guid>
    </item>
    <item>
      <title>额..Rails 里怎么加 EXT 呢=.=懵了</title>
      <description>&lt;p&gt;要是 jquery 我直接把对应的 js 放进去就行了
但是 ext 里面还有对应的一堆图片和路径之类的 (resources)...
google 了下还没有此类结果:)
求
赐
教  &lt;/p&gt;</description>
      <author>douya0808</author>
      <pubDate>Sun, 22 Apr 2012 20:37:30 +0800</pubDate>
      <link>https://ruby-china.org/topics/2815</link>
      <guid>https://ruby-china.org/topics/2815</guid>
    </item>
    <item>
      <title>关于 Rails 中的 Ajax 的疑问</title>
      <description>&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;AjaxesController&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;index&lt;/span&gt;
  &lt;span class="vi"&gt;@teacher&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="no"&gt;Teacher&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="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="vi"&gt;@teacher_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="vi"&gt;@teacher.name&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;ajax&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;我在 ajax.html.erb 中定义 div 标签&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt; &lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"name"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&amp;gt;



&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;之后我在 ajax.html.erb 中请求 index 这个 action 就可以把，我的 index 里有的@变量就可以写到 ajax.html.erb 中的 div 标签中了吗？例：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;xmlRequest&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"GET"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"http://localhost:3000/ajaxes/index"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;我是这么想的呢但不知道对不对，希望我的思路么有错:)  &lt;/p&gt;</description>
      <author>douya0808</author>
      <pubDate>Tue, 17 Apr 2012 17:40:40 +0800</pubDate>
      <link>https://ruby-china.org/topics/2663</link>
      <guid>https://ruby-china.org/topics/2663</guid>
    </item>
    <item>
      <title>关于文件被下载下来时的文件名:)</title>
      <description>&lt;p&gt;（1）假设有一文件名为 Oracle.zip
（2）上传到服务器为避免重名，被重命名为 2111042012-04-16 09.zip
（3）用 send_file 下载的时候提供的名字也需要是 2111042012-04-16 09.zip
此时，点击下载显示的是：您想打开或保存此文件吗？名称：2111042012-04-16 09.zip&lt;/p&gt;

&lt;p&gt;但是下载时我想显示 Oracle.zip，也就是文件最初的名字 (数据库有对各文件最初的名字进行保存),前辈们有什么建议吗？:)  &lt;/p&gt;</description>
      <author>douya0808</author>
      <pubDate>Tue, 17 Apr 2012 09:47:50 +0800</pubDate>
      <link>https://ruby-china.org/topics/2648</link>
      <guid>https://ruby-china.org/topics/2648</guid>
    </item>
    <item>
      <title>两个思考后无果的问题，望指教:)</title>
      <description>&lt;p&gt;&lt;strong&gt;Question1：&lt;/strong&gt;
在 JAVA 中用 filter 之类的来验证登录，在 ROR 中用什么呢:) 我的后台页面敲路由可以直接进去=.=&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Question2：&lt;/strong&gt;
管理员有权限设置上传文件的尺寸 但是我用什么变量来保存这个尺寸数值呢，如果我是管理员先登录设置的话，我把这个最大值存入 session 或者全局变量$max 都可以实现，但是问题是这种值我再一重启就没有了，但是我又不能每次都用管理员帐号登录设置最大值再让用户登录，有没有什么变量能保存这个系统的值，我关闭这个系统再启动那个值还是不变的呢:)&lt;/p&gt;

&lt;p&gt;HoH～望指教  &lt;/p&gt;</description>
      <author>douya0808</author>
      <pubDate>Mon, 16 Apr 2012 14:43:46 +0800</pubDate>
      <link>https://ruby-china.org/topics/2631</link>
      <guid>https://ruby-china.org/topics/2631</guid>
    </item>
    <item>
      <title>用了 ROR 还有必要学 EXTjs 吗？或者说两者不相干呢:)</title>
      <description>&lt;p&gt;呜哈哈哈   &lt;/p&gt;</description>
      <author>douya0808</author>
      <pubDate>Mon, 16 Apr 2012 13:14:13 +0800</pubDate>
      <link>https://ruby-china.org/topics/2629</link>
      <guid>https://ruby-china.org/topics/2629</guid>
    </item>
    <item>
      <title>哎呀 土鳖来问一下 github 是什么啊？好像大家都有啊</title>
      <description>&lt;p&gt;百度了下发现是个版本控制程序？求科普  &lt;/p&gt;</description>
      <author>douya0808</author>
      <pubDate>Fri, 13 Apr 2012 13:39:59 +0800</pubDate>
      <link>https://ruby-china.org/topics/2574</link>
      <guid>https://ruby-china.org/topics/2574</guid>
    </item>
    <item>
      <title>rails 升级到 3.1.1 之后 js 就死活都不好使了</title>
      <description>&lt;p&gt;我把 application.js 删除换成我自己的 js 文件了
因为我以为这里的内容都被//注掉了以为没用呢 但是网上有人说这东西还有用
好吧
那我用 scaffold 新建个表单来再加入 js...还是不好使=。=&lt;/p&gt;

&lt;p&gt;3.1.1 是仲么了呢  &lt;/p&gt;</description>
      <author>douya0808</author>
      <pubDate>Fri, 13 Apr 2012 11:39:40 +0800</pubDate>
      <link>https://ruby-china.org/topics/2569</link>
      <guid>https://ruby-china.org/topics/2569</guid>
    </item>
    <item>
      <title>关于删除服务器上的文件</title>
      <description>&lt;p&gt;写一个上传课件的程序，课件都存在工程下的 public 文件夹下，课件有个 state 属性，值为 1 表示该软件可用，0 表示该软件已被删除 (没有真的被删除只是在程序中遍历的时候看不到了),这里我就有问题了 我在客户端上操作如何才能删除服务器上的东西呢？只能实现把 state 从 1 改成 0 而不能真正的删除吗？  &lt;/p&gt;</description>
      <author>douya0808</author>
      <pubDate>Fri, 13 Apr 2012 09:25:32 +0800</pubDate>
      <link>https://ruby-china.org/topics/2565</link>
      <guid>https://ruby-china.org/topics/2565</guid>
    </item>
    <item>
      <title>关于 callback 的单独句柄类</title>
      <description>&lt;p&gt;我查了很久都没查到 ror 中回调函数所谓的"句柄"是什么意思=。=&lt;/p&gt;

&lt;p&gt;如果有一组想用来共享的回调函数，可以将其写成单独句柄类&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;CreditCardCallbacks&lt;/span&gt;
   &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;before_validation&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;cc_number&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;gsub!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/[-\s]/&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;''&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;#cc_number代表信用卡号码&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;然后在两个模型类中共享回调函数，Order 模型和 Subscription 都有 cc_number 属性&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;Order&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;before_validation&lt;/span&gt; &lt;span class="no"&gt;CreditCardCallbacks&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;  &lt;span class="c1"&gt;#怎么不是Order.new&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;

&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Subscription&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;before_validation&lt;/span&gt; &lt;span class="no"&gt;CreditCardCallbacks&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt; &lt;span class="c1"&gt;#怎么不是Subscription.new&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;上面两个 model 调用回调函数，为什么传的是回调函数的实例（CreditCardCallbacks.new）而不是模型本身的实例（Order.new）进去呢  求前辈点醒-.-&lt;/p&gt;</description>
      <author>douya0808</author>
      <pubDate>Wed, 11 Apr 2012 11:00:49 +0800</pubDate>
      <link>https://ruby-china.org/topics/2521</link>
      <guid>https://ruby-china.org/topics/2521</guid>
    </item>
    <item>
      <title>求解：关于表间关联</title>
      <description>&lt;p&gt;老师                        课程                      班级
             &lt;u&gt;多对多&lt;/u&gt;                                 &lt;u&gt;多对多&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;根据老师可以查到该老师上哪些课程，再根据哪些班级有该课程可以查到班级，既：该老师都教哪些班级&lt;/p&gt;

&lt;p&gt;但是这是理想情况，一般一门课程都有不只一个老师教，这样根据老师查出来的就是所有上这门课的班级，而不是该老师教的该门课的班级 所以我不知道该怎么办了=.=求指导 把多对多会用了我还很高兴来着 没高兴多久就遇到新问题了：）  &lt;/p&gt;</description>
      <author>douya0808</author>
      <pubDate>Tue, 10 Apr 2012 11:40:24 +0800</pubDate>
      <link>https://ruby-china.org/topics/2499</link>
      <guid>https://ruby-china.org/topics/2499</guid>
    </item>
    <item>
      <title>关于多对多,中间表的名称</title>
      <description>&lt;p&gt;老师和课程是多对多的关系
那中间表写成 teachers_kechengs 和 kechengs_teachers 不是一样么？为什么在我的程序中写成后者就正确 写成前者就说找不到表呢？费解  &lt;/p&gt;</description>
      <author>douya0808</author>
      <pubDate>Mon, 09 Apr 2012 17:23:28 +0800</pubDate>
      <link>https://ruby-china.org/topics/2491</link>
      <guid>https://ruby-china.org/topics/2491</guid>
    </item>
    <item>
      <title>疑问:关于 text_field</title>
      <description>&lt;p&gt;书上网上都说这个标签的两个属性分别和 model,model 中的属性相绑定的，于是我试着把我弄的一个登录里面的参数一，参数二都随意命名了，发现一切仍正常&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sx"&gt;%= form_tag :action=&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="s1"&gt;'evaluate'&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="sx"&gt;%&amp;gt;
帐号：
&amp;lt;br&amp;gt;&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sx"&gt;%= text_field :we,:ee %&amp;gt;        #以前是&amp;lt;%=&lt;/span&gt; &lt;span class="n"&gt;text_field&lt;/span&gt; &lt;span class="ss"&gt;:student&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="ss"&gt;:loginid&lt;/span&gt; &lt;span class="o"&gt;%&amp;gt;&lt;/span&gt;&lt;span class="c1"&gt;#&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;br&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="n"&gt;密码&lt;/span&gt;&lt;span class="err"&gt;：&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;br&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sx"&gt;%= password_field :we,:xx %&amp;gt;#以前是&amp;lt;%=&lt;/span&gt; &lt;span class="n"&gt;password_field&lt;/span&gt; &lt;span class="ss"&gt;:student&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="ss"&gt;:pw&lt;/span&gt; &lt;span class="o"&gt;%&amp;gt;&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;br&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;



&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;后台验证：def evaluate 中&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="vi"&gt;@loginid&lt;/span&gt;&lt;span class="o"&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;:we&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="ss"&gt;:ee&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;        &lt;span class="c1"&gt;#以前是params[:student][:loginid]&lt;/span&gt;
&lt;span class="vi"&gt;@pw&lt;/span&gt;&lt;span class="o"&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;:we&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="ss"&gt;:xx&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;             &lt;span class="c1"&gt;#以前是params[:student][:pw]&lt;/span&gt;
&lt;span class="vi"&gt;@student&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="no"&gt;Student&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;find_by_loginid_and_pw&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="vi"&gt;@loginid&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="vi"&gt;@pw&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vi"&gt;@student&lt;/span&gt;
   &lt;span class="n"&gt;redirect_to&lt;/span&gt; &lt;span class="ss"&gt;:controller&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"students"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="ss"&gt;:action&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;"index"&lt;/span&gt;
&lt;span class="k"&gt;else&lt;/span&gt;
   &lt;span class="n"&gt;redirect_to&lt;/span&gt; &lt;span class="ss"&gt;:action&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;"fail"&lt;/span&gt; 
&lt;span class="k"&gt;end&lt;/span&gt;



&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;既然随便改名都可以，那就说明没和某个 model 和 model 中的属性相绑定而仅仅是接受了个前台的值，那为啥还得写两个无关紧要的参数呢？后台接受参数也得 params[:we][:ee] 这样双层接收:)&lt;/p&gt;

&lt;p&gt;在大神看来不算问题 但是俺就是特杯地想知道 告诉俺下呗:)  &lt;/p&gt;</description>
      <author>douya0808</author>
      <pubDate>Fri, 06 Apr 2012 10:46:25 +0800</pubDate>
      <link>https://ruby-china.org/topics/2407</link>
      <guid>https://ruby-china.org/topics/2407</guid>
    </item>
    <item>
      <title>关于多对多关联的操作存在问题=.=</title>
      <description>&lt;p&gt;&lt;strong&gt;我先建了个表  students 主键 id       name&lt;/strong&gt;
 &lt;strong&gt;又建了个表 corporations 主键 id     name&lt;/strong&gt;
  &lt;strong&gt;建了个中间表 corporations_students      联合主键 student_id 和 corporation_id&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;然后分别生成 scaffold&lt;/strong&gt;
&lt;strong&gt;rails generate scaffold Student&lt;/strong&gt;
&lt;strong&gt;rails generate scaffold Corporation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;这是问题出来了 我中间表的 scaffold 该怎么建呢？&lt;/strong&gt;
&lt;strong&gt;rails generate scaffold CorporationsStudent?CorporationStudent？这里的名字该打什么我&lt;/strong&gt;&lt;strong&gt;就费解了=。=&lt;/strong&gt;  &lt;/p&gt;</description>
      <author>douya0808</author>
      <pubDate>Thu, 05 Apr 2012 08:58:13 +0800</pubDate>
      <link>https://ruby-china.org/topics/2389</link>
      <guid>https://ruby-china.org/topics/2389</guid>
    </item>
    <item>
      <title>两种方式的验证,其中一种不起作用</title>
      <description>&lt;p&gt;是个很简单的问题，但是调试了 N 久都不知道究竟问题出自哪里&lt;/p&gt;

&lt;p&gt;同样是对 title 的验证
写成&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;validate&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;title&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;blank?&lt;/span&gt;
      &lt;span class="n"&gt;errors&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;add&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="s2"&gt;"title can not be null"&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;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;validates_presence_of&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;:message&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"title can not be null"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;验证才起作用
但是我死活不知道第一种写法错在哪了，只发这两部分了，因为第二个能好使说明其他的都好使就是第一个不好使了吧 嘎嘎:)  &lt;/p&gt;</description>
      <author>douya0808</author>
      <pubDate>Mon, 02 Apr 2012 16:11:52 +0800</pubDate>
      <link>https://ruby-china.org/topics/2346</link>
      <guid>https://ruby-china.org/topics/2346</guid>
    </item>
  </channel>
</rss>
