2013-04-11 75 views
4

我一直試圖添加has_many關係到我的ActiveModel :: Serializers一段時間,現在我得到了一堆與它們相關的錯誤。好像has_many關係正在調用錯誤的序列化程序。以下是錯誤:問題將has_many添加到ActiveModel :: Serializer

Started GET "/vehicles/1001" for 127.0.0.1 at 2013-04-11 01:07:08 -0700 
Processing by UsersController#index as JSON 
    Parameters: {"user"=>{}} 
    [1m[36mUser Load (0.2ms)[0m [1mSELECT `users`.* FROM `users` [0m 
Processing by VehiclesController#show as JSON 
Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.2ms) 
    Parameters: {"id"=>"1001", "vehicle"=>{}} 
    [1m[35mVehicle Load (0.6ms)[0m SELECT `vehicles`.* FROM `vehicles` WHERE `vehicles`.`id` = 1001 LIMIT 1 


Started GET "/vendor_reps" for 127.0.0.1 at 2013-04-11 01:07:08 -0700 
Completed 500 Internal Server Error in 4ms 

NoMethodError (undefined method `serializable_hash' for #<ActiveModel::ArraySerializer:0x007fbbcaa82018>): 
    app/controllers/vehicles_controller.rb:20:in `block (2 levels) in show' 
    app/controllers/vehicles_controller.rb:18:in `show' 


Processing by VendorRepsController#index as JSON 
    Parameters: {"vendor_rep"=>{}} 
    [1m[35mVendorRep Load (0.3ms)[0m SELECT `vendor_reps`.* FROM `vendor_reps` 
Completed 200 OK in 2ms (Views: 0.3ms | ActiveRecord: 0.3ms) 
    Rendered /Users/pzuraq/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/actionpack-3.2.11/lib/action_dispatch/middleware/templates/rescues/_trace.erb (2.3ms) 
    Rendered /Users/pzuraq/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/actionpack-3.2.11/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (1.0ms) 
    Rendered /Users/pzuraq/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/actionpack-3.2.11/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (11.7ms) 

的代碼在這裏gisted:https://gist.github.com/pzuraq/5361607

+0

您可以刪除'active_model_serializer',如果您的模型與序列化程序具有相同的名稱(例如'Option => OptionSerializer'),則不需要。 – 2013-04-11 11:25:18

+0

是的,但這並不能解決問題...我補充說看看它是否改變了任何事情,但事實並非如此。 – pzuraq 2013-04-11 20:47:51

回答

6

所以事實證明,使用:選項,屬性名是造成衝突。也可能有其他相互衝突的名稱。要小心命名空間!

相關問題