haml_tag没有返回任何字符串

时间:2011-06-30 02:35:29

标签: haml helpers ruby-on-rails-3.1

您好我已经尝试复制我的旧haml_tags,看起来他们不适用于Rails 3.1rc4或者我做错了。有人能指出我正确的方向吗?

def bonus_value_of(stat)
  bonus = current_user.character.send("bonus_#{stat}".to_sym)
  capture_haml do
    haml_tag :span, :class => "positive" do
      "+#{bonus}"
    end
  end
end

这是我用

调用的代码
= bonus_value_of(stat)

我得到的只是一个空白的范围,但是没有内容(甚至不是加号)

这是一个错误吗?

2 个答案:

答案 0 :(得分:3)

这是我的版本。

1.你的助手应该在控制器的助手中,而不是像某篇文章中描述的module Haml::Helper那样。

2.更改你的助手:

def bonus_value_of(stat)
  bonus = current_user.character.send("bonus_#{stat}".to_sym)
  haml_tag :span, :class => "positive" do
    haml_concat "+#{bonus}"
  end
end

然后在你的视图中使用它:

- bonus_value_of(stat)

答案 1 :(得分:2)

我刚碰到这个。我需要将我的跨度文本作为第二个值传递给haml_tag

def bonus_value_of(stat)
  bonus = current_user.character.send("bonus_#{stat}".to_sym)
  capture_haml do
    haml_tag :span, "+#{bonus}", :class => "positive"
  end
end