如何在序列化过程中包含habtm关系

时间:2011-04-07 21:33:52

标签: ruby-on-rails ruby-on-rails-3 associations

我的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的未定义方法`类型”,并且日志指向上面的代码行。

任何人都可以帮我弄清楚为什么会这样吗?

1 个答案:

答案 0 :(得分:1)