2012-12-19 23 views
0

我在我的任務模型中定義了一些自定義方法。我送他們到我的骨幹應用,像這樣:Rails&Backbone.js:傳遞自定義方法,獲取「UnknownAttributeError」

Planner.initialize({ tasks: #{raw @tasks.to_json(:methods => [:timeframe, :timeframe_title, :timeframe_months]) } }); 

然而,當我補充說,ActiveRecord的認爲這是在數據庫中的字段,我發現了以下錯誤在控制檯:

Completed 500 Internal Server Error in 4ms 

ActiveRecord::UnknownAttributeError (unknown attribute: timeframe): 
    app/controllers/tasks_controller.rb:118:in `block in update' 
    app/controllers/tasks_controller.rb:117:in `update' 

回答

1

感謝Chad Pytel在ThoughtBot,我發現我必須從我的rails模型中的attr_accessible行刪除這三個方法。

強烈推薦書"Backbone.js on Rails" by Thoughtbot,它附帶對這些問題的聊天支持。

+0

很好,謝謝。 – jake

+0

其他選擇:在你的控制器中手動白名單'params',調整你的Backbone模型的'toJSON'不包括那些東西,並使用一個單獨的方法來爲你的Backbone視圖模板序列化你的模型。你也可以接受你自己的答案,但你可能需要再等5個小時。 –

相關問題