ruby-on-rails-3 – 如何让sencha架构师从rails中读取json

ruby-on-rails-3 – 如何让sencha架构师从rails中读取json,第1张

概述我有一个 Ruby on Rails 3新闻应用程序.它需要标题,一些内容和图像附件(使用回形针宝石).我正在使用RABL gem来提供一个 JSON feed的Sencha Architect项目. 问题是Sencha Architect无法读取JSON url.当我尝试将数据加载到商店时,我收到一条非常无益的消息,说“无法使用提供的配置加载数据”和一个链接以打开浏览器中的URL(打开就好了). 我有一个 Ruby on Rails 3新闻应用程序.它需要标题,一些内容和图像附件(使用回形针宝石).我正在使用RABL gem来提供一个 JSON feed的Sencha Architect项目.

问题是Sencha Architect无法读取JsON url.当我尝试将数据加载到商店时,我收到一条非常无益的消息,说“无法使用提供的配置加载数据”和一个链接以打开浏览器中的URL(打开就好了). Sencha Architect是否有某个日志提供有关此错误的更多信息?

以下是RABL文件:

# show.rablobject @articleattributes :Title,:bodynode(:mobile_url) { |article| article.image.url(:mobile,false) }node(:tablet_url) { |article| article.image.url(:tablet,false) }node(:original_url) { |article| article.image.url(:original,false) }# index.rablcollection @articlesextends "articles/show"

RABL默认情况下不提供内容类型,所以我在文章控制器中有这个:

before_filter :default_format_Jsondef default_format_Json  if(request.headers["http_ACCEPT"].nil? && params[:format].nil?)    request.format = "Json"  endend

这是Architect生成的代码,用于显示我使用的配置选项:

# StorIEs storeExt.define('MyApp.store.StorIEs',{    extend: 'Ext.data.Store',requires: [        'MyApp.model.Story'    ],config: {        autoLoad: true,model: 'MyApp.model.Story',storeID: 'StorIEs',proxy: {            type: 'Jsonp',url: 'https://Feedr.org.uk/articles.Json',reader: {                type: 'Json',rootProperty: 'article'            }        }    }});# Story modelExt.define('MyApp.model.Story',{    extend: 'Ext.data.Model',config: {        fIElds: [            {                name: 'Title'            },{                name: 'body'            },{                name: 'mobile_url'            },{                name: 'tablet_url'            }        ]    }});

如何让Sencha Architect读取我的JsON数据?非常感谢您提供的任何帮助.

解决方法 好吧,事实证明Sencha配置没有问题,问题出在我的rails应用程序上.我正在使用RABL gem生成Json响应.需要将RABL配置为以初始化程序的形式生成JsonP响应,如下所示:

# config/initializers/rabl_init.rbRabl.configure do |config|  config.include_Json_root = false  config.include_xml_root  = false  config.enable_Json_callbacks = trueend

重要的选项是enable_Json_callbacks = true.它导致RABL作为我的Sencha应用程序可以理解的JsonP提供响应.

总结

以上是内存溢出为你收集整理的ruby-on-rails-3 – 如何让sencha架构师从rails中读取json全部内容,希望文章能够帮你解决ruby-on-rails-3 – 如何让sencha架构师从rails中读取json所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1268470.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存