草庐IT

serializers

全部标签

ruby-on-rails - 如何调用 active_model_serializer 显式序列化记录

我有一个用于TimeEntry模型的序列化程序,如下所示:classTimeEntrySerializer当我只返回所有记录时,它按预期工作:defindex@time_entries=current_user.time_entries.allrespond_todo|format|format.htmlformat.json{renderjson:@time_entries}endend但是,我想返回按天组织的条目,如下所示:[{"2016-03-16"=>[TimeEntry1,TimeEntry2,TimeEntry3]},{"2016-03-17"=>[TimeEntry1,T

ruby - Rails 3 - 反序列化只返回 ActiveRecord::AttributeMethods::Serialization::Attribute

我最近将一个旧的Rails2.3应用程序(Ruby1.8.7)升级到了Rails3.2/Ruby1.9.3。使用ActiveRecord序列化并尝试访问序列化属性时,我得到:ActiveRecord::AttributeMethods::Serialization::Attributereturned..unserializethenreturnstheactualvalue.真正奇怪的是,有一些模型具有正常行为。有人可以帮助我吗? 最佳答案 我现在知道这个问题是什么时候发生的,但我仍然不知道为什么:这个有效:User选项返回{}如

ruby-on-rails - rails 3.2 : Replace null values with empty string from json serialization

我正在使用Rails3.2serialization将ruby​​对象转换为json。例如,我已经将ruby​​对象序列化为以下json{"relationship":{"type":"relationship","id":null,"followed_id":null}}在我的类RelationshipActiveRecord::Base中使用以下序列化方法defas_json(opts={}){:type=>'relationship',:id=>id,:followed_id=>followed_id}end我需要用空字符串替换空值,即空双引号,以响应json。我怎样才能做到这一

ruby-on-rails - JSONAPI 资源 : serialize a namespaced model

我正在尝试使用JSONAPIResources在Rails引擎中,我定义了DokiCore::Tenant(模型)在doki_core/app/models/tenant.rb和DokiCore::TenantResource在doki_core/app/resources/tenant_resource.rb中。当我尝试序列化为哈希时,遇到以下错误:NoMethodError:undefinedmethodtenant_path'for#from/Users/typeoneerror/.rvm/gems/ruby-2.2.2@doki/gems/jsonapi-resources-0

ruby-on-rails - 在 Rails 中使用 ActiveModel::Serializer - JSON 数据在 json 和索引响应之间不同

我正在使用active_model_serializersgem来控制序列化数据,并看到一些奇怪的行为。我的代码如下所示:模型和序列化器classUserincludeMongoid::Documentfield:first_name,:type=>Stringfield:last_name,:type=>Stringdeffull_namefirst_name+""+last_nameendendclassUserSerializerControllerclassUsersControllerView(app/views/users/index.html.erb)...$(funct

ruby-on-rails - "You are trying to cache a Ruby object which cannot be serialized to memcached."

我在多个站点共享的页脚中遇到了一些缓存问题,我想知道可能是什么原因。这是错误消息和回溯:Cacheread:remote_footer_information({:expires_in=>300seconds})Cachegenerate:remote_footer_information({:expires_in=>300seconds})Cachewrite:remote_footer_information({:expires_in=>300seconds})Marshallingerrorforkey'remote_footer_information':no_dump_dat

ruby-on-rails - ActiveRecord::Serializer 中的条件侧载数据(基于 Controller 操作)

我在Rails和构建应用程序方面没有太多经验。我尝试使用ActiveModel::Serializers构建API。为特定事件操作有条件地加载数据的最佳方法是什么?我是否必须通过在每次调用时发送查询参数来做到这一点,或者我可以设置includes:trueonlyforspecificactionoranyothersuggestion?classEventsController[:index,:show]before_filter:locate_collection,:only=>:indexskip_before_filter:verify_authenticity_token,:

ruby-on-rails - ruby rails : serialize Hash incredibly slow

我有一个名为“搜索”的简单模型,用于存储搜索。它捕获URL参数并将它们存储在属性:search_criteria中,该属性被序列化为哈希:serialize:search_criteria,Hash这一切都完美无缺,但表现却很糟糕。对于仅5个对象,以下语句大约需要0.2秒。start=Time.nowSavedSearch.all.map(&:search_criteria)putsTime.now-start但是,如果我删除序列化行(这样search_criteria返回一个字符串),语句只需要0.002秒。这是反序列化哈希的2个数量级的差异!!这里发生了什么?Rails.versi

ruby-on-rails - 将 has_many 添加到 ActiveModel::Serializer 的问题

一段时间以来,我一直在尝试将has_many关系添加到我的ActiveModel::Serializers中,但我遇到了一大堆与它们相关的错误。似乎has_many关系正在调用错误的序列化程序。这是错误:StartedGET"/vehicles/1001"for127.0.0.1at2013-04-1101:07:08-0700ProcessingbyUsersController#indexasJSONParameters:{"user"=>{}}[1m[36mUserLoad(0.2ms)[0m[1mSELECT`users`.*FROM`users`[0mProcessingby

ruby - ActiveModel::Serializer::CollectionSerializer

我正在使用ActiveModelSerializersv0.10.0.rc4我想生成如下所示的json:{"posts":[{"post":{"id":2,"name":"foo"}},{"post":{"id":3,"name":"bar"}}],"next_page":3}我知道基本的:renderjson:posts,each_serializer:PostSerializer将生成这样的json:[{"id":2,"name":"foo"}{"id":3,"name":"bar"}]我尝试了以下操作:Controller:renderjson:posts,serializer: