在haml视图中= fl意味着什么

时间:2011-02-03 16:06:38

标签: ruby-on-rails ruby haml

我继承了一个有这个haml的应用程序来为“home”控制器提供一个index.html.haml文件。

= fl
- if logged_in?
  = render :partial => 'logged_in_home'
- else
  = render :partial => 'marketing_home'

if语句很清楚,但= fl在做什么?我无法在haml文档中找到它或通过谷歌搜索它。

3 个答案:

答案 0 :(得分:2)

= fl不是内置的haml方法。您可以尝试查看它是否在以下任何位置定义:

  • 应用程序/控制器/ application_controller
  • 应用程序/助手/ application_helper
  • 应用程序/助手/ home_helper
  • 任何其他app / helpers / * _ helper文件
  • 库代码(lib / *)
  • 插件/宝石代码

答案 1 :(得分:0)

我的猜测是它是一个局部变量,特别是如果你在局部变量中。运行页面时会发生什么?什么出现在偏见之上?

答案 2 :(得分:0)

我不知道应用程序中的fl是什么,因为它可能是由您的应用程序或其中一个插件定义的。

但我会告诉你解决这个问题的神奇技巧。它实际上非常简单:

  • 在它之前粘贴一个调试器;)

只做

= require 'ruby-debug';debugger;fl

刷新页面。服务器应停在此行。使用s进入'fl'功能,你会发现它在99.99%的情况下到底在哪里(*)

  • 好吧,有些情况可能会有所帮助,例如动态定义一个方法,无需正确设置源文件和行。