1

我在我的模型中添加了一个计算当前进度的方法。我还覆盖了 as_json 方法以在我的响应中包含虚拟字段。

def progress
   //code to get progress
end


def as_json(options = { })
  super((options || { }).merge({
    :methods => [:progress]
  }))
end

我现在遇到的问题是我得到一个 UnknownAttributeError ,因为主干正在尝试提交“进度”字段。

ActiveRecord::UnknownAttributeError (unknown attribute: progress):

我尝试将此添加到控制器中更新方法的第一行

params.delete('progress')
4

2 回答 2

0

将您的进度方法从您的attr_accessible线路中取出,这应该可以解决问题。

我遇到了同样的问题,ThoughtBot 支持人员(Backbone.js on Rails)帮助了我(强烈推荐这本书,附带对您的应用程序的支持)。

于 2012-12-19T19:34:20.793 回答
0

它是嵌套的,所以我必须这样做

params[:assignment].delete('progress')

我还将它添加到模型中

attr_reader :progress
于 2012-12-20T07:08:36.847 回答