Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby HTML中的中间人助手导航类_Ruby_Middleman - Fatal编程技术网

Ruby HTML中的中间人助手导航类

Ruby HTML中的中间人助手导航类,ruby,middleman,Ruby,Middleman,我想使用中间人助手将class=“selected”添加到div中。我看到了无数使用中间人模板语言的示例。在plan HTML中有这样做的方法吗 config.rg helpers do def is_page_selected(page) current_page.url == page ? {:class => "selected"} : {} end end _header.erb <div class="header_menu_item <%= is_

我想使用中间人助手将class=“selected”添加到div中。我看到了无数使用中间人模板语言的示例。在plan HTML中有这样做的方法吗

config.rg

helpers do
  def is_page_selected(page)
    current_page.url == page ? {:class => "selected"} : {}
  end
end
_header.erb

<div class="header_menu_item <%= is_page_selected("/dashboard.html") %>">Dashboard</div>
仪表板
谢谢

您可以在中间人中使用ERB。如果您的助手是:

helpers do
  def is_page_selected(page)
    current_page.url == page ? "selected" : ''
  end
end
然后:

仪表板
据我所知并非如此。是什么阻止你使用像ERB这样的东西?我正在将一个相当大的项目转换为使用中间商,不想将所有东西都转换为HAML。有什么东西可以阻止HTML/HAML的混合吗?好吧,你最好的选择应该是ERB,因为它是用Ruby丰富的纯HTML。你上面给出的例子表明它实际上相当好。只需将现有的纯HTML粘贴到模板中(比如
example.HTML.erb
),您就不会遇到任何问题。然后,您可以添加一些编程行为(如导航类助手)来帮助您干燥模板。请参阅ERB的入门教程,从长远来看,它确实会帮助您。混合HTML和HAML效果最好。刚刚将导航HTML转换为HAML部分以使用中间人助手#固定的
<div class="header_menu_item <%= is_page_selected("/dashboard.html") %>">Dashboard</div>