#ruby-on-rails #ruby #serialization #active-model-serializers
#ruby-on-rails #ruby #сериализация #active-model-serializers
Вопрос:
Ошибка, из-за которой я не могу отобразить json (я получаю ошибку TypeError: nil не является символом), если один из моих столбцов равен нулю.
Что-то вроде User.first.serializable_hash выдает ошибку, подобную этой:
TypeError: nil is not a symbol
from /usr/local/rvm/gems/ruby-2.0.0-p247@global/gems/activemodel-4.0.3/lib/active_model/serialization.rb:108:in `block in serializable_hash'
from /usr/local/rvm/gems/ruby-2.0.0-p247@global/gems/activemodel-4.0.3/lib/active_model/serialization.rb:108:in `each'
from /usr/local/rvm/gems/ruby-2.0.0-p247@global/gems/activemodel-4.0.3/lib/active_model/serialization.rb:108:in `serializable_hash'
from /usr/local/rvm/gems/ruby-2.0.0-p247@global/gems/activerecord-4.0.3/lib/active_record/serialization.rb:17:in `serializable_hash'
Кто-нибудь когда-нибудь сталкивался с этой проблемой? Я знаю, что могу использовать сериализаторы activemodel, но мне пришлось бы включить один для каждой отдельной модели (и я не могу отключить его для определенного контроллера).
Также: я использую rails 4 для создания api и использую mysql2 adapter gem, если это имеет значение
Комментарии:
1. может быть, это будет полезно для вас github.com/rails/rails/issues/13635
2. спасибо, похоже, это проблема. я использую составной первичный ключ gem для его устранения