【问题标题】:Rails upgrade: rxml file rendered instead of haml fileRails 升级:渲染 rxml 文件而不是 haml 文件
【发布时间】:2011-06-05 12:02:33
【问题描述】:

我正在将旧的 Rails 1.x 应用升级到 2.3.10,但在渲染视图时遇到了问题。我有一个控制器,它有两个与之关联的视图:index.hamlindex.rxml。在升级之前,一切都按预期工作。在迁移到 Rails 2 之后,相同的代码(没有更改)已经开始在 wants.html 块的末尾自动呈现 XML 视图,此时它应该呈现 haml 视图。当我将index.rxml 文件重命名为其他名称(如foo.rxml)时,它会成功找到并呈现index.haml 文件。

从 Rails 1 到 Rails 2 的视图渲染逻辑发生了哪些变化?

【问题讨论】:

    标签: ruby-on-rails view rendering upgrade haml


    【解决方案1】:

    我没有使用过 Rails 1(加入 Rails 2),但我猜这是因为 Rails 2 使用 .html.erb 而不是 .rhtml。同样适用于 .xml.erb 而不是 .rxml。 HAML 也发生了同样的事情:.haml 变为 .html.haml。不知道这是否是导致您的问题的原因,但这是 Rails 2 创建视图的方式。

    编辑

    另外,如果你想在 Rails 2 中渲染 XML,你需要在你的 Controller 中添加以下内容:

    respond_to do |format|
      format.xml { render :xml_view_name } 
    end
    

    【讨论】:

    • 重命名视图修复了它。我使用了 rake 任务here
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-18
    • 1970-01-01
    • 1970-01-01
    • 2021-07-01
    • 2011-05-05
    相关资源
    最近更新 更多