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? 的相关文章

  • Ruby/Rails/Rack 代码中的“use”关键字/单词

    最近我偶然在Ruby代码中看到这个词 use 当我正在查看一些与goliath https github com postrank labs goliath 中间件等 看起来它不同于include extend and require 有人
  • Rails 删除方法不起作用

    好吧 我在 Ruby on Rails 中的删除方法上遇到了这样的问题 我想 我尝试了我读过的所有内容 但它不起作用 也许你可以帮助解决这个问题 当我单击链接时 它会重定向到患者 1 confirm Are you sure 3F meth
  • 如何在 rake 任务中包含 ActionMailer 类?

    我想在我的 rake 任务中使用 ActionMailer 以便在特定时间向人们发送电子邮件 我在 app mailers 文件夹中编写了一个邮件程序类 如下所示 class AlertsMailer lt ActionMailer Bas
  • 需要帮助获取嵌套的 ruby​​ 哈希层次结构

    我有哈希深层嵌套哈希 我希望每个键的层次结构 父到子 作为数组 例如 hash properties gt one gt extra headers gt type gt object type1 gt object2 entity gt
  • 在 Ruby/Sinatra 中解码 Facebook 的签名请求

    由于 Facebook 不赞成使用新的 FBML 我正在寻找一种新方法来创建 显示 选项卡 向粉丝显示一个版本 向非粉丝显示另一个版本的页面选项卡 Facebook 已将数据添加到signed request 中 当用户在应用程序中选择您的
  • 在 Ruby 中创建带有静态页面的博客的最佳方法

    我刚刚访问了静态网站生成 http www ruby toolbox com categories static website generation html on 红宝石工具箱 http www ruby toolbox com 我不知
  • Rails Partial (Rails 3, HAML) 任意慢

    我使用的是 Rails 3 0 1 HAML 0 3 22 和 Mongrel 1 1 5 MongoMapper 不是 AR 我正在渲染一个列表 每个列表项都是它自己的部分 每次页面渲染其中一个列表项部分时 渲染时间都会延长近 100 倍
  • Ruby 的 OpenSSL::Random 种子是否足够?

    我对 Ruby 知之甚少 所以如果答案很明显 请原谅我 我注意到在http www ruby doc org stdlib 1 9 3 libdoc securerandom rdoc SecureRandom html http www
  • Ruby:如何计算相对于另一条路径的路径?

    假设我知道我开始的绝对路径和我试图到达的绝对路径 first first path second second path 现在我想弄清楚如何构建一条相对于第一个路径 例如 answer should be first path second
  • 标记(lex?parse?)正则表达式

    使用 Ruby 我想获取一个 Regexp 对象 或表示有效正则表达式的字符串 您的选择 并将其标记化 以便我可以操作某些部分 具体来说 我想采用这样的正则表达式 字符串 regex var w parts foo bar 并创建一个替换字
  • 回形针如何更改基本名称(文件名)?

    我正在尝试更改照片的基本名称 文件名 在我的模型中我有 attr accessor image url basename has attached file image styles gt original gt 300x250 gt pn
  • 使用 Ruby 获取 AWS 区域名称

    我正在为 AWS 开发 Rails 应用程序 并希望为区域名称创建下拉菜单 例如 us east 1 等 如果有人已经创建了 gem 来获取它们 我想使用它 有人知道这样的 gem 或有用的 API 吗 适用于 Ruby 的 AWS 开发工
  • ruby on Rails,会话过期通知

    我正在使用 ruby 1 9 3 和 Rails 3 2 我的实际会话处理如下所示 会话助手 def sign in user cookies remember token value user remember token expires
  • 在 ruby​​ 中读/写受密码保护和加密的文件

    我想加密一个 ruby 程序将从中加载数据的文件 此外 我需要程序在启动时提示输入密码 该密码将用于解密文件 换句话说 该文件需要加密地驻留在计算机上 只有拥有密码的用户才能运行该应用程序 我已经开始研究 openpgp 但据我了解 这仍然
  • Capybara 的 has_selector 有哪些选项?

    我在 RSpec 中遇到此错误 有没有任何文档have selector解释了选项哈希中的每个键以及它到底有什么作用 invalid keys content should be one of text visible between co
  • ruby 的 String .hash 方法如何工作?

    我只是红宝石的新手 我见过一个字符串方法 String hash 例如 在irb 我试过了 gt gt mgpyone hash returns gt 144611910 这个方法是如何工作的 The hash方法是为所有对象定义的 看文档
  • 带有附加参数的redirect_to

    我是一个菜鸟 redirect to users url notice Succeed p p 然后我添加一个message它失败了 redirect to users url notice Succeed message test p p
  • Ruby mp3 Id3 解析

    目前我正在从事一个音乐项目 处理用户 mp3 上传 问题是我找不到适用于所有文件的 id3 库 我努力了id3 ruby and Mp3Info库 但它们都没有给我一致正确的结果 例如 最常见的问题 错误的流参数 比特率和采样率 有时是持续
  • 什么是 - 获取的是一个目录 - 错误消息

    我收到这个奇怪的错误 Users gideon Documents ca ruby rubytactoe lib player rb 13 in gets Is a directory spec Errno EISDIR 玩家规格 rb r
  • 有没有可以在 HTML 文档之间进行比较的 ruby​​ gem?

    事实证明 对两个不同的 html 文档进行比较是一个完全不同的问题 而不仅仅是对纯文本进行比较 例如 如果我在以下之间进行简单的 LCS 差异 Google and Google diff 结果不是 but a gt github com

随机推荐

  • 如何在 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