Ruby on rails Rails HAML帮助器以显示列表项

Ruby on rails Rails HAML帮助器以显示列表项,ruby-on-rails,ruby,haml,Ruby On Rails,Ruby,Haml,我很难让助手显示列表项。标记如下所示: - @bars.each do |bar| <% display_bar(bar) %> module MyHelper def display_bar(bar) type = bar.type concat(%li.type) concat(%b some text) concat(%i some more text) end end 我做错了什么 帮助者的名称是display\u

我很难让助手显示列表项。标记如下所示:

   - @bars.each do |bar|
      <% display_bar(bar) %>
module MyHelper
  def display_bar(bar)
    type = bar.type
    concat(%li.type)
    concat(%b some text)
    concat(%i some more text)
  end
end
我做错了什么

  • 帮助者的名称是
    display\u bar
    而不是
    display\u event

  • 您应该使用
    =
    而不是

  • 编辑

    Oops没有仔细阅读
    display\u bar
    方法的内容,正如@jdoe提到的,您不能在Ruby代码中使用Haml标记语法

  • 帮助者的名称是
    display\u bar
    而不是
    display\u event

  • 您应该使用
    =
    而不是

  • 编辑

    Oops没有仔细阅读
    display\u bar
    方法的内容,正如@jdoe提到的,您不能在Ruby代码中使用Haml标记语法

  • 这些事情必须通过partials实现。或见第5条
  • 
    
  • 这些事情必须通过partials实现。或见第5条

  • 我不确定您是否在原始代码中漏掉了它,
    中的
    =
    ,但如果是这样,就应该是这样。我不确定您是否在原始代码中漏掉了它,
    中的
    =
    ,但如果是这样,就应该是这样。这只是我输入问题时的一个打字错误。使用
    =
    是可行的,但我认为我使用concat()仍然不合适。这只是我在输入问题时的一个输入错误。使用
    =
    是可行的,但我认为我对concat()的使用仍然不正确。这很好,但我的内容有%li.class之类的内容,我需要从bar的实例中获取该类。我认为这个例子不适合这种情况,我会把它标记为正确答案,但在这种情况下,bar是一个散列,而不是一个常规的ActiveRecord模型或任何东西。因此,我仍然需要找出如何获得正确的列表项类,因为类查找需要在助手中进行。现在它只是一个常量,比如0,1,2,3,我需要将它映射到类似“foobarclass”的东西,但在本例中,bar是一个散列,而不是一个常规的ActiveRecord模型——我自己尝试过。甚至不接近散列。我试着把
    =bar.class
    放进去,得到了
    MyModel
    我实例化为
    @bar=MyModel.all
    。再次检查您的代码并查看文档:这很好,但我的内容包含%li.class之类的内容,我需要从bar实例获取该类。我认为这个例子不适合这种情况,我会把它标记为正确答案,但在这种情况下,bar是一个散列,而不是一个常规的ActiveRecord模型或任何东西。因此,我仍然需要找出如何获得正确的列表项类,因为类查找需要在助手中进行。现在它只是一个常量,比如0,1,2,3,我需要将它映射到类似“foobarclass”的东西,但在本例中,bar是一个散列,而不是一个常规的ActiveRecord模型——我自己尝试过。甚至不接近散列。我试着把
    =bar.class
    放进去,得到了
    MyModel
    我实例化为
    @bar=MyModel.all
    。再次检查代码并查看文档:
    - @bars.each do |bar|
        = display_event(bar)
    
      = content_tag_for(:li, @bars) do |bar|
        %b= bar.title
        %i= bar.id