【发布时间】:2012-03-08 18:42:48
【问题描述】:
我在 rails 的帮助器中有以下代码:
def custom_options_tag(opts={})
['am', 'pm'].each do |meridian|
["12", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11"].each do |time|
if @event.send(opts[:method], opts[:arg]) == time.to_s + meridian
engine = Haml::Engine.new("%option{:value => human_time, :selected => 'selected'}= human_time")
else
engine = Haml::Engine.new("%option{:value => human_time}= human_time")
end
engine.render(Object.new, :human_time => time.to_s + meridian)
end
end
end
我的问题是... 如何在我的视图中呈现此代码? 似乎没有办法渲染在辅助方法中经过循环的haml代码。
为了简化我尝试将段落渲染 3 次...
def some_paragraph_helper
3.times do
engine = Haml::Engine.new("%p Some paragraph from helper")
engine.render
end
end
当我调用方法时...
some_paragraph_helper
...它输出的不是文本,而是不带段落标签的数字“3”。请注意,它只显示数字“3”一次……就好像它没有通过循环一样。
感谢您的帮助。
唱片
【问题讨论】:
标签: ruby-on-rails ruby haml helper