我有以下代码
@asset = Asset.first(
:include => [
:asset_statuses => [
:asset_status_name,
{:asset_location => [
{:asset_floor => :asset_building}
]}
],
:asset_type => [
:asset_category => :asset_department
]
],
(可能不是最好的数据库表设计,但这就是我必须使用的)
Asset.first
工作正常并且它正确带回数据但是当我尝试使用相同的 :include
在 to_json
方法失败并出现以下错误:@asset.to_json(
:include => [
:asset_statuses => [
:asset_status_name,
{:asset_location => [
{:asset_floor => :asset_building}
]}
],
:asset_type => [
:asset_category => :asset_department]
]
)
NoMethodError (undefined method `macro' for nil:NilClass):
to_json
方法相同 :include
语法为 find;我不明白为什么它不起作用。
最佳答案
万一其他人遇到我做过的奇怪的相关问题... to_json
当您尝试包含未在模型上定义的关联时,也会返回此错误。
关于ruby-on-rails - Ruby on Rails to_json 问题与 :include,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1930267/