【问题标题】:Rails 4.2.0 beta4 - Haml with no outputRails 4.2.0 beta4 - 没有输出的 Haml
【发布时间】:2014-12-02 02:02:16
【问题描述】:

我在我的 rails 应用程序中安装了 haml gem (v4.2.0 beta4) 但它似乎没有编译任何输出。

我已将 gem 包含在我的 gemfile 中并运行 bundle install 并确保 我将我的 html.erb 文件更改为 html.haml

这是模板之一,我看到的只是标题"New recipe"

%h1 New recipe
= render 'form'
= link_to 'Back', recipes_path

并且没有任何内容显示为部分表单。

我遇到过类似问题的人,该问题的解决方案是让控制器继承 applicationController 而不是 actionController

我想知道这是否是我需要做的才能使其正常工作。 我原以为安装 haml gem 会处理让它工作所需的一切。

【问题讨论】:

  • 是的。它们都在同一个文件夹中,都是 .html.haml
  • 我也看不到反向链接,所以它看起来不像是表单本身的问题,就像= link_to 'Back', recipes_path 没有显示那样简单。我看到的只是静态的 h1 标题。
  • 我从rubygems.org/gems/haml得到它
  • 你不是通过 bundler 安装的吗?您的 gemfile 中具体有什么?你有gem 'haml-rails'吗?
  • 我最终通过捆绑程序安装它,但我最初错误地使用gem install haml 运行,不确定这是否可能是原因。在那之后,我确实使用捆绑程序卸载/安装了几次。

标签: ruby-on-rails


【解决方案1】:

在你的Gemfile,放

gem "haml-rails"

当然还有bundle install

这是您将 HAML 集成到 Rails 应用程序所需的唯一 gem,因为它提供了能够在 haml 视图中使用 ruby​​ 逻辑所需的包装器。仅使用 haml 是不够的,因为 haml 是独立于框架的。

【讨论】:

  • @SeongLee,你的项目是在 github 还是公共 repo 上?除非我看到整个画面,否则我无法真正弄清楚这一点。
  • 我用 Rails 4.1.8 创建了一个新项目,并复制了相同的部分表单,4.2.0 beta4 项目和 haml 中的所有内容现在都可以在这里工作。奇怪
  • 嗯,这可能是 Rails 测试版的一个错误。
  • 感谢您的帮助。我倾向于将您的答案标记为已选择,但它可能违反此处的规则并使其他人混淆为该问题的最终解决方案,因此我将保持原样。我真的很感激。
  • 我建议用你的结论做一个新的答案,然后标记那个。这样问题就结束了。祝你好运
【解决方案2】:

自从您添加了 HAML gem (gem 'haml', '~> 4.0.5'),运行 bundle install 并重新启动了您的服务器(您是否重新启动了服务器??)我相信您已经正确安装了 Gem。

当您在模板文件中说您看到 "New recipe" 时,这让我认为问题不在于 haml gem,而在于部分文件。

只是为了确认,您的部分保存在同一文件夹 (app/views/recipes/) 中:

_form.html.haml

您需要确保部分文件名前面有下划线。

【讨论】:

  • 感谢您的意见。我相信我做了一个很好的完整性检查,以确保它们的格式和命名正确。我制作了一个新的 Rails 应用程序版本 4.1.8 并安装了具有相同表单部分和格式的那些 gem,它现在适用于这个项目。奇怪啊..
【解决方案3】:

我最终将我的项目降级到 4.1.8 并且 Haml 工作正常。 gem 'haml-rails' 不是必需的。 gem 'haml' 做得很好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-02
    • 2011-11-22
    • 2015-07-14
    • 2015-07-09
    相关资源
    最近更新 更多