`
lzqustc
  • 浏览: 211090 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

Flex3 on Rails 错误列表

阅读更多

①、 [RPC Fault faultString="HTTP request error" faultCode="Server.Error.Request" faultDetail="Error: [IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2032: 流错误。 URL: http://localhost:3000/posts/10.xml "]. URL: http://localhost:3000/posts/10.xml "]
 at mx.rpc::AbstractInvoker/http://www.adobe.com/2006/flex/mx/internal::faultHandler()

....................

 

这个大多是你的Ralis程序出错了,其实rails把error info全都发过来了,但是flex没法处理这些文本,于是出现上面的错误,这个时候你可以看看Rails控制台,那里显示了错误信息。不像以前rails的html页面编程时直接显示详细的出错信息。

 

②、 ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken):

    ...........................

以前在rails中,这个错误的解决方案有好几种,最佳方案是在页面中增加

<%= javascript_tag "var authenticity_token = '#{form_authenticity_token}';" %>

然后以隐藏字段post这个authenticity_token ,从而不破坏Rails的protect_from_forgery机制,但是现在要通过Rails向Flex传送authenticity_token ,我还没找到正解,只好暂时用下面的方法:

在Controller里添加:protect_from_forgery :except =>[:destroy,:update]

 

③、 [RPC Fault faultString="Security error accessing url" faultCode="Channel.Security.Error" faultDetail="Destination: DefaultHTTP" ]
    at mx.rpc::AbstractInvoker/http://www.adobe.com/2006/flex/mx/internal::faultHandler()
    at mx.rpc::Responder/fault()
    at mx.rpc::AsyncRequest/fault()
    at DirectHTTPMessageResponder/securityErrorHandler()
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at flash.net::URLLoader/redirectEvent()

 

那是因为 Flex 不使用代理时遇到安全沙箱冲突

解决方案:在../public目录下新建一个文件: crossdomain.xml

内容为:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <allow-access-from domain="*" />
    <allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>

就OK了 ^_^

 

 ④、 / !\ FAILSAFE /!\  Thu Jul 16 14:50:31 +0800 2009
  Status: 500 Internal Server Error
  #<RuntimeError: attempted adding second root element to document>
c:/ruby/lib/ruby/1.8/rexml/document.rb:90:in `<<'
c:/ruby/lib/ruby/1.8/rexml/element.rb:867:in `add'

......................

script/server:3
...
attempted adding second root element to document
Line:
Position:
Last 80 unconsumed characters:
111111</password>
    c:/ruby/lib/ruby/1.8/rexml/parsers/treeparser.rb:90:in `parse'
    c:/ruby/lib/ruby/1.8/rexml/document.rb:204:in `build'
    c:/ruby/lib/ruby/1.8/rexml/document.rb:42:in `initialize'
    c:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/xml_mini/rexml.rb:17:in `new'
    c:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/xml_mini/rexml.rb:17:in `parse'
    (__DELEGATION__):2:in `__send__'
    (__DELEGATION__):2:in `parse'

..............................

 

那是因为<mx:HTTPService> 中设置了属性contentType="application/xml", 那么如果你通过以下方式 svcLogin .send( {login: loginTI.text, password: passwordTI.text} ); 发送request,就会出现上面的错误:又或者你写成

 <mx:request>
         <login>{loginTI.text}</login>
         <password>{passwordTI.text}</password>
    </mx:request>

也会出现同样的错误

因为xml方式发送参数格式应该是:只有一个root即<user>

<mx:request>

      <user>
          <login>{loginTI.text}</login>
          <password>{passwordTI.text}</password>

       </user>
    </mx:request>

 

解决方案,就是去掉 contentType="application/xml", 那么<mx:HTTPService>就会采用默认的contentType="application/x-www-form-urlencoded", 那么

svcLogin .send( {login: loginTI.text, password: passwordTI.text} ); 就不会出错了。

 

⑤、 TabNavigator,Accordion组件 使浏览器地址出现类似字符串“#app= 6d4&68af-selectedIndex=1”

 

参考:http://hereson.iteye.com/blog/188513   得到解决方案:

在Flex Bulider中,右键点击项目,选Properties-->Flex Complier,将Enable integration with browser navigation 这个选项去除

 

 

 

Ps:本文持续更新中^_^

分享到:
评论

相关推荐

    Flexible Rails: Flex3 on Rails2

    ### Flexible Rails: Flex3 on Rails2 #### 关于Flexible Rails 本书《Flexible Rails: Flex 3 on Rails 2》由Peter Armstrong撰写,旨在探讨如何结合使用Flex 3和Rails 2来开发高效的富互联网应用程序(Rich ...

    Flex3与Rails结合

    在探索如何将Adobe Flex3与Ruby on Rails(简称Rails)结合,创建动态Web应用的过程中,一个常见的入门案例便是“HelloWorld”。此案例不仅展示了这两种技术如何协同工作,还揭示了它们在构建交互式用户界面方面的...

    flex on rails文档

    ### Flex on Rails 文档知识点详解 #### 一、关于 Flexible Rails **Flexible Rails** 是一个旨在结合 **Flex** 和 **Rails** 技术优势的框架。通过将这两者结合,可以构建出高度交互且功能丰富的 Web 应用程序。本...

    ruby on rails 3 tutorial.pdf

    《Ruby on Rails 3 Tutorial》是一本专门为初学者设计的指南,旨在帮助读者快速掌握Ruby on Rails这一强大的Web开发框架。Ruby on Rails(简称Rails)是基于Ruby语言的一个开源框架,它采用MVC(Model-View-...

    Ruby on Rails Tutorial

    《Ruby on Rails Tutorial》中文版(原书第2版,涵盖 Rails 4) Ruby 是一门很美的计算机语言,其设计原则就是“让编程人员快乐”。David Heinemeier Hansson 就是看重了这一点,才在开发 Rails 框架时选择了 Ruby...

    ruby on rails 101

    ### Ruby on Rails 101:深入理解与实践 #### 引言 《Ruby on Rails 101》是一本介绍Ruby on Rails(简称RoR或ROR)的基础书籍,旨在为初学者提供一个全面而深入的学习框架。本书由Peter Marklund编写,包含了五天...

    ruby on rails最新版

    在压缩包子文件的文件名称列表中仅列出“rails”,这可能是Rails框架的核心库文件,或者是包含了Rails框架的安装包。在实际的开发环境中,这样的压缩包通常还会包含数据库连接器(如pg或mysql2)、开发工具(如...

    jRuby On Rails WEB2.0

    3. **实战项目**:通过具体的Web 2.0项目案例,读者可以亲自动手实践,加深对jRuby on Rails的理解和应用能力。 4. **前沿技术**:本书覆盖了当时最新的jRuby版本和Rails框架特性,让读者了解并掌握最前沿的开发技术...

    flex rails

    ### Flex与Ruby on Rails结合应用 #### 知识点一:Flex与Ruby on Rails的集成原理及优势 《FlexibleRails》这本书主要讲述了如何将Flex与Ruby on Rails进行整合,实现强大的Web应用程序。Flex是一种用于构建丰富的...

    Ruby on Rails Guides v2 - Ruby on Rails 4.2.5

    ### Ruby on Rails Guides v2 - Ruby on Rails 4.2.5 #### 一、重要概念及基础假设 - **重要概念**:本指南旨在帮助读者深入理解Ruby on Rails(以下简称Rails)4.2.5版本的核心功能与最佳实践。 - **基础假设**:...

    Ruby on Rails安装包全集(Linux)

    Ruby on Rails是一款基于Ruby语言的开源Web开发框架,它遵循MVC(模型-视图-控制器)架构模式,简化了Web应用的开发流程。在Linux环境下安装Ruby on Rails需要一系列的依赖包和步骤,本资源包提供了所需的所有组件,...

    Ruby on Rails中文指南

    Ruby on Rails,简称Rails,是一款基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,旨在提升开发效率和代码的可读性。Rails以其“约定优于配置”的设计理念,以及“DRY(Don't Repeat ...

    Ruby On Rails中文教材(PDF)

    Ruby on Rails,简称Rails,是一款基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,旨在简化Web应用程序的开发。Rails由David Heinemeier Hansson于2004年创建,它提倡“约定优于配置...

    Ajax on Rails (PPT)

    ### Ajax on Rails 知识点解析 #### 一、引言 在当今的Web开发领域,Ajax技术已经成为了提升用户体验的重要手段之一。Rails作为一种高效、优雅的Web开发框架,与Ajax技术结合能够创造出功能强大且易于维护的应用...

    Ruby on Rails实践

    Ruby on Rails,简称Rails,是由David Heinemeier Hansson基于Ruby语言开发的一个开源Web应用程序框架。这个框架遵循“约定优于配置”(Convention over Configuration)的原则,致力于简化Web应用的开发流程,提高...

    Ruby on Rails入门经典代码

    Ruby on Rails,简称Rails,是基于Ruby语言的一个开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在使Web开发过程更加高效、简洁。本压缩包中的"Ruby on Rails入门经典代码"提供了新手学习...

    ruby on rails api

    Ruby on Rails(简称Rails)是一种基于Ruby编程语言的开源Web应用程序框架,专为敏捷开发而设计,强调简洁的代码和“约定优于配置”的原则。它主要用于构建数据驱动的Web应用,借助于MVC(Model-View-Controller)...

Global site tag (gtag.js) - Google Analytics