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
=
而不是
display\u bar
方法的内容,正如@jdoe提到的,您不能在Ruby代码中使用Haml标记语法
display\u bar
而不是display\u event
=
而不是
display\u bar
方法的内容,正如@jdoe提到的,您不能在Ruby代码中使用Haml标记语法
这些事情必须通过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