2012-05-08 52 views
0

我想弄清楚如何将Ruby代码放入HAML文件,以便我可以确定请求通过哪个控制器,并设置一些适当的设置。Ruby和Rails和Haml--将红宝石代码放入haml页面

我将此代码添加到文件的顶部:

ruby: 
    active_is = "#{request[:controller]}/#{action_name}" 

但它与错误说坠毁:

Illegal nesting: nesting within plain text is illegal. 

这是否意味着我的语法了吗?我该如何解决?

谢谢!

+1

我敢持怀疑态度的你想要什么在这里做,但是,由于各种原因 - 看起来应该是一个美丽的模板很多丑陋的逻辑。 –

+0

@DaveNewton为什么可疑?在某种程度上,您需要在HAML中添加一些逻辑,以便了解要显示哪些div以及如何显示它们,不是吗? – Awesomeness

+2

*有些*,当然。基于控制器?更不常见的是,这让我怀疑是否更抽象的东西会是更好的选择。 –

回答

4

Language filters由冒号,而不是相反:

:ruby 
    active_is = "#{request[:controller]}/#{action_name}" 

往往不是,但是,它更容易to just use -

- active_is = "#{request[:controller]}/#{action_name}" 
+0

此外,由于您已经在使用'action_name',所以我会使用'controller_name'来确保一致性,例如' - active_is =“#{controller_name/action_name}”' –