我有一个Controller,它返回一个ActiveRecord对象数组和一个jbuilderView来生成json(所有标准的东西)。如果我想要一个哈希数组,效果很好。所以例如我有:json.array!(@list)do|l|json.(l,:field)end返回[{"field":"one"},{"field":"two"},{"field":"three"}]但是,我只想要一个字符串数组;这样我的json是["one","two","three"]我的jbuilder文件应该是什么? 最佳答案 有点晚了,但这会奏效:jso
我的对象看起来像:[,,,,]其中ltree_val决定了它们的树结构。我需要生成类似...[{"data":"1","children":[{"data":"1.1","children":[{"data":"1.1.1"}]}]},{"data":"2"}]我有由ltree值确定的子项,它们本身是同一对象的元素。如果我按ltree值对这些对象进行排序,我该如何创建嵌套条目?我对RABL或JBuilder持开放态度。我完全迷路了。 最佳答案 答案是使用递归函数...#encoding:UTF-8defjson_ltree_buil
我正在使用RubyonRails构建API。我有使用回形针实现化身的用户。我试图在我的JSON输出中访问我的回形针URL,但它刚刚使我的heroku实例崩溃。这在本地非常有效。我的用户模型片段classUser我的用户的Jbuilder片段json.cache!@userdojson.id@user.idjson.type@user.typejson.f_name@user.f_namejson.about@user.aboutjson.email@user.emailjson.avatar_url@user.avatar.url(:medium)json.referral_code@
我使用的是JBuilder2.4.1版和Rails4.2.6。我正在尝试将一个复杂对象序列化为JSON。代码如下所示:json.key_format!camelize::lowerjson.data_object@foo@foo看起来像这样:{key:'value',long_key:'value'}我希望它呈现为{"dataObject":{"key":"value","longKey":"value"}}但它保留了原始哈希键,仅将data_object转换为驼峰式{"dataObject":{"key":"value","long_key":"value"}}所以问题是:使用JBu
我有两个顶级数组,它们具有相同的格式。我想合并它们:json=Jbuilder.encodedo|json|json.(companies)do|json,c|json.valuec.to_sjson.hrefemployee_company_path(c)endjson.(company_people)do|json,cp|json.value"#{cp.to_s}(#{cp.company.to_s})"json.hrefemployee_company_path(cp.company)endend因此输出如下:[{value:"a",href:"/sample1"},{value
Gon与Jbuilder配合得很好。特别是,文档告诉我们像这样使用它gon.jbuildertemplate:'path/to/template.json.jbuilder'这很好用,但我想缓存模板结果,这样就不需要重新渲染模板了。因此,我使用了render_to_string,如下所示:gon.entities=Rails.cache.fetch('entities_json')doJSON.parserender_to_string(template:'path/to/template.json.jbuilder')end该方法返回适当的字符串,我必须通过JSON.parse传递它
我有简单的jbuilderViewjson.idpharmaceutic.idjson.namepharmaceutic.namejson.dosagepharmaceutic.dosage.name当pharmaceutic.dosage=>nil我呈现的json如下所示:{"id":1,"name":"HerzASSratiopharm","dosage":null}我想为所有jBuilderView设置,当某些属性为nil时,它应该呈现为空字符串。{"id":1,"name":"HerzASSratiopharm","dosage":""}如何实现?
我希望在jbuilderView中显示一条错误消息。例如,我可能拥有的一条路线可能是:/foos/:id/bars如果:id用户提交的内容不存在或无效,我希望能够在我的index.json.builder中相应地显示错误消息文件。使用Rails,完成此任务的最佳方法是什么?Controller可能有如下内容:defindex@bar=Bar.where(:foo_id=>params[:id])end在这种情况下,params[:id]可能是nil,或者该对象可能不存在。我不确定这里最好的做法是在Controller中处理它并显式呈现error.json.builder,或在index
我正在尝试使用下面的方法呈现部分jbuilder文件json.(@request,:id)json.profiledojson.partial!partial:'users/user_reduced',user:@request.userend部分在下面(users/_user_reduced.json.jbuilder)json.(user,:id,:name,:sex)但是,我得到了错误:ActionView::Template::Error(undefinedlocalvariableormethod`user'for#:0x007fe4ebe599f8>):好像没有设置本地用户
我在rubyonrails中有这个模型分支模型:has_many:menusclassBranch菜单模型:has_many:productsclassMenu产品型号:classProduct在View中使用以下代码:if@conditionjson.code:successjson.branchdojson.array!(@branches)do|json,branch|json.(branch,:id,:branch_name,:barcode)json.menubranch.menus,:id,:menu_nameendendelsejson.code:errorjson.