我的rails 3 app中有一个has_and_belongs_to_many关联。我还使用新的respond_with方法自动生成REST API的XML。
HABTM关联位于DataSource和Parameter之间,连接表是data_sources_parameters。
当我写respond_with DataSource.all, :include => parameter
时,它有效,我得到了预期的回复
<data-sources type="array">
<data-source>
<created-at type="datetime">2011-04-05T14:05:22Z</created-at>
<id type="integer">1</id>
<updated-at type="datetime">2011-04-05T14:05:22Z</updated-at>
<url>http://www.yahoo.com/weather</url>
<parameters type="array"/>
</data-source>
</data-sources>
响应表明每个数据源的参数将包含在数据源中。但是,这仅在存在实际关联但是连接表为空时才有效。
当我实际创建两个数据库条目之间的关联时,我得到错误“nil:NilClass的未定义方法`类型”,并且日志指向上面的代码行。
任何人都可以帮我弄清楚为什么会这样吗?