<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>feex (feex)</title>
    <link>https://ruby-china.org/feex</link>
    <description/>
    <language>en-us</language>
    <item>
      <title>Rails Model  继承的疑问</title>
      <description>&lt;p&gt;初学 ruby &lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="o"&gt;------------------------------&lt;/span&gt; &lt;span class="n"&gt;model&lt;/span&gt; &lt;span class="n"&gt;部分&lt;/span&gt; &lt;span class="o"&gt;------------------------------&lt;/span&gt;
&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;User&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="k"&gt;end&lt;/span&gt;

&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Member&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;belongs_to&lt;/span&gt; &lt;span class="ss"&gt;:user&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;ProjectMember&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="no"&gt;Member&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;

&lt;span class="o"&gt;------------------------------&lt;/span&gt; &lt;span class="n"&gt;spec&lt;/span&gt; &lt;span class="n"&gt;部分&lt;/span&gt; &lt;span class="o"&gt;------------------------------&lt;/span&gt;
    &lt;span class="n"&gt;factory&lt;/span&gt; &lt;span class="ss"&gt;:project_member&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
      &lt;span class="n"&gt;association&lt;/span&gt; &lt;span class="ss"&gt;:user&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:factory&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="ss"&gt;:user&lt;/span&gt;
      &lt;span class="n"&gt;project&lt;/span&gt;
      &lt;span class="n"&gt;access_level&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="no"&gt;ProjectMember&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;MASTER&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;此时  p ProjectMember.instance_methods 中明明有 user=  这个函数，但是执行 rspec 却出错&lt;/p&gt;

&lt;p&gt;提示 factory_girl 生成假数据时出错
  2) project_member factory should be valid&lt;br&gt;
     Failure/Error: expect(build(factory_name)).to be_valid&lt;/p&gt;

&lt;p&gt;ActiveRecord::AssociationNotFoundError:
          Association named 'user' was not found on ProjectMember; perhaps you misspelled it?&lt;/p&gt;

&lt;p&gt;如果将 ProjectMember 改为&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;ProjectMember&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="no"&gt;Member&lt;/span&gt;
  &lt;span class="n"&gt;belongs_to&lt;/span&gt; &lt;span class="ss"&gt;:user&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;则一切 OK
我哪里出错了么？&lt;/p&gt;</description>
      <author>feex</author>
      <pubDate>Thu, 18 Feb 2016 14:20:29 +0800</pubDate>
      <link>https://ruby-china.org/topics/29017</link>
      <guid>https://ruby-china.org/topics/29017</guid>
    </item>
  </channel>
</rss>
