Rails 3.1 Edge 是否破坏了 XmlMarkup::Builder?

2024-01-12

网上有很多例子(例如http://techoctave.com/c7/posts/32-create-an-rss-feed-in-rails http://techoctave.com/c7/posts/32-create-an-rss-feed-in-rails)展示如何使用 Builder 制作漂亮的 RSS 提要。规范模板是这样的:

xml.instruct! :xml, :version => "1.0" 
xml.rss :version => "2.0" do
xml.channel do
  xml.title "Your Blog Title"
  xml.description "A blog about software and chocolate"
  xml.link posts_url

  for post in @posts
    xml.item do
      xml.title post.title
      xml.description post.content
      xml.pubDate post.posted_at.to_s(:rfc822)
      xml.link post_url(post)
      xml.guid post_url(post)
    end
  end
end

这在 Rails 3.0.7 中工作得很好。在 Rails 3.1 Edge 中,每个命令似乎都会产生...

Rendered home/index.rss.builder (25.2ms)
Completed 500 Internal Server Error in 875ms

ActionView::Template::Error (wrong number of arguments (1 for 0)):
1: xml.instruct!(:xml, :encoding => "UTF-8")
2: 
3: xml.rss :version => "2.0" do
4:   xml.channel do
app/views/home/index.rss.builder:1:in   `_app_views_home_index_rss_builder___2123990471_2215695900'
app/controllers/home_controller.rb:17:in `index'
app/controllers/home_controller.rb:11:in `index'

Rails 3.1.0.rc1 也因这个错误而对我造成了影响,但只有在使用 Ruby 1.8.7 时 - 事实证明这是一个问题.instruct!

作为临时解决方案,您可以使用以下内容对 xchar.rb 进行 Monkeypatch(按照本文作者的建议)http://lists.alioth.debian.org/pipermail/pkg-ruby-extras-maintainers/2010-June/005411.html http://lists.alioth.debian.org/pipermail/pkg-ruby-extras-maintainers/2010-June/005411.html):

--- /home/prahal/xmlbase.rb.orig  2010-06-03 11:18:38.000000000 +0200
+++ /home/prahal/xmlbase.rb.new 2010-06-03 11:18:53.000000000 +0200
@@ -131,7 +131,11 @@
       end
     else
       def _escape(text)
-        text.to_xs((@encoding != 'utf-8' or $KCODE != 'UTF8'))
+        begin
+   text.to_xs((@encoding != 'utf-8' or $KCODE != 'UTF8'))
+        rescue
+   text.to_xs()
+        end
       end
     end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails 3.1 Edge 是否破坏了 XmlMarkup::Builder? 的相关文章

随机推荐

  • 如何在 Xcode 4.4 中将部署目标从 iOS 5.1 更改为 4.2

    我试图在 Xcode 4 4 中将部署目标从 5 1 更改为 4 2 但它不起作用 我下载了 4 1 4 2 的调试支持 我将架构设置为armv6 armv7 我在plist中设置了armv6 armv7 我不使用故事板 It s a 已知
  • 大型列表上单击事件的 jQuery 委托性能 - 如果动态添加更多元素,速度会变慢?

    我有一个像这样的项目的可视列表 http jsfiddle net viatropos XCe3T 1 http jsfiddle net viatropos XCe3T 1 在真实的应用程序中 我总共只加载 200 个项目 但问题是cli
  • 无法解析 Android Studio 上的符号“android”

    我一直在制作一个显示 MapView 的应用程序 它已经构建完毕 我什至在我的设备上使用它 现在我想添加更多功能 但工作室突然给出错误 无法解析符号 android 我将工作室更新到 0 8 6 最新 但是该死的 没有什么变化 Errors
  • 下载SSRS报告并保存在特定位置(C#)(未经授权)

    Question 我正在尝试通过其 URL 将 SSRS 报告下载到数据缓冲区 字节数组 中 因此我可以将其保存在特定的文件夹中 并使用我选择的名称 如果需要的话 我愿意接受不同方法的建议 问题 但是我不断收到以下错误 401 未经授权 无
  • 字符串变量的 Null 或空检查

    if isnull value 我想知道上面的代码是否可以检查变量是否为空或空 是的 该代码正是这样做的 您还可以使用 if value is null or value Edit 添加的信息表明 value is an int值 你需要
  • 使用 Angular SPA 应用程序与 IdentityServer4 进行身份验证/授权接收令牌,然后与 Web API 进行对话

    我有一个 asp net core Web API 我目前正在使用 Angular 4 应用程序直接调用它 我现在想添加身份验证和授权层 我想通过向我的解决方案添加另一个类型为 ASP NET Core MVC 带个人用户帐户 的项目 严格
  • 为什么在使用 JPA 映射类时应该在 getter 或 setter 上添加注释?

    主题说明了一切 到目前为止 我认为人们在 getter 和 或 setter 上声明注释没有任何优势 对我来说 这唯一的缺点是将注释分散到类上 这会使类更加难以阅读 将注释放在字段上显然可以减少需要帮助时发布的代码量 但这只是一个微小的优势
  • 如何在 scala 中进行依赖注入?

    除了java之外 我还处于学习scala的开始阶段 我不明白如何在那里进行DI 我可以或者应该使用现有的 DI 库 应该手动完成还是有其他方法 标准 Java DI 框架通常可与 Scala 配合使用 但您也可以使用语言构造来达到同样的效果
  • data.table高效回收

    我经常在 data table 中使用回收 例如当我需要对未来几年进行预测时 我会在未来的每一年重复我的原始数据 这可能会导致类似的情况 library data table dt lt data table cbind 1 500000
  • 如何使方法返回类型通用?

    考虑这个例子 OOP 书籍中的典型例子 我有一个Animal类 其中每个Animal可以有很多朋友 还有像这样的子类Dog Duck Mouse等添加特定行为 例如bark quack etc 这是Animal class public c
  • 如何在 strings.xml 中输入字符“<”?

    我想输入字符串 lt in strings xmleclipse中的文件 字符串有字符 lt 我无法将其添加到 xml 文件而不出错 我什至试图逃避 特点
  • 应用程序在设备上崩溃,但在模拟器 iOS 上运行

    App wasn t developed by me but now I have to add some features Code compiles add launches on simulator but immediately c
  • 允许的 HTML 4.01 id 值正则表达式

    你能帮我构建一个与有效的 W3C HTML 4 01 匹配的正则表达式吗id value 根据 W3C 规范 ID 和 NAME 令牌必须以字母 A Za z 开头 并且可以是 后跟任意数量的字母 数字 0 9 连字符 下划线 冒号 和句点
  • 很棒的 RDF 可视化工具 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想找到一些很棒的工具或样式来可视化我的 RDF 数据 以便在观看者访问 RDF 数据时能给他们带来震撼 问题是我现在得到的可视化工具只能
  • 在 PHP 的 foreach 循环中对项目进行分组

    所以 我正在尝试做一种用户市场类型的东西 有一个数据库item names 基本描述了虚拟物品 然后还有一张表market 当用户列出他们的一件商品时 该商品就会在用户 用户市场上出售 我这里唯一的问题是我想按项目名称对其进行分组 在ite
  • Swift 2 无法删除可选绑定

    我是 Swift 新手 对可选 没有更多的想法 我尝试从 plist 中获取数据 创建模型并显示UITableView 表格数据显示完美 但显示为Optional 捆绑 我尝试过改变 到 但无法解开 您能指导我解决这个问题吗 这是我的代码和
  • 数组字段的elasticsearch范围过滤器

    我有一个包含整数数组的字段 例如 source prices 20001 30001 我想过滤结果 使价格至少包含以下值之间的列表之一 20002 30000 不会返回上述文档 因为没有值介于 20002 和 30000 之间 但 1000
  • 使用 Django 模型选择 COUNT 个?

    有谁知道是否有办法只选择与 Django 中的查询匹配的行数 我编写了一个搜索 将结果分为 40 组 但我还想显示结果总数 我可以像 len Model objects filter name icontains search 这样的东西
  • 骨干网将模型传递给路由器

    我正在使用 require js 和 Backbone 开发一个 android 应用程序 我必须通过 touchend 事件将从集合中获取的模型传递给路由器 我该怎么做 define jquery underscore backbone
  • Rails 3.1 Edge 是否破坏了 XmlMarkup::Builder?

    网上有很多例子 例如http techoctave com c7 posts 32 create an rss feed in rails http techoctave com c7 posts 32 create an rss feed