Ruby on rails 向ActiveRecord对象添加其他数据

Ruby on rails 向ActiveRecord对象添加其他数据,ruby-on-rails,json,attr-accessor,Ruby On Rails,Json,Attr Accessor,我正在检索一个“小部件”ActiveRecord对象: @widget = Widget.find(params[:id]) 我想在返回之前向它添加一些额外的数据,所以我使用以下方法添加它: @widget.display_name = "test display name" 然后我可以执行put@widget.display_name,这确实会显示“test display name”,但当我调用put@widget.inspect时,它不包括额外的数据 我最初得到的是: NoMethod

我正在检索一个“小部件”ActiveRecord对象:

@widget = Widget.find(params[:id])
我想在返回之前向它添加一些额外的数据,所以我使用以下方法添加它:

@widget.display_name = "test display name"
然后我可以执行
put@widget.display_name
,这确实会显示“test display name”,但当我调用
put@widget.inspect时,它不包括额外的数据

我最初得到的是:

NoMethodError (undefined method `display_name=' for # <Widget:0x007fe6147e8e00>):

您可以尝试将
显示\u name
合并到
@widget
的属性中:

@widget = @widget.attributes.merge(display_name: "test display name")
render json @widget
上面应该返回一个JSON对象,该对象具有
@widget
的属性,包括指定的display\u名称

希望有帮助

@widget = @widget.attributes.merge(display_name: "test display name")
render json @widget