haml_tag не возвращает ни одной строки - PullRequest
4 голосов
/ 30 июня 2011

Привет, я попытался скопировать мои старые 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 ]

3 голосов
/ 24 сентября 2011

Вот моя версия.

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)
2 голосов
/ 13 сентября 2012

Я только что столкнулся с этим. Мне нужно было передать мой текст span как второе значение в 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
...