我在将应用程序迁移到 Rails 3 时遇到了一个大问题。我有一个视图助手,我称之为“WidgetHelper”。当我参考它时,它有助于自动渲染一些部分。例如
<%= widget('loginbox', :global => true) %>
但它不能正常工作。它按照我的意愿呈现 HTML 代码,但会转义返回值,这是意料之外的。我如何告诉渲染(或某些东西)不要为我逃避返回值?
这是我的代码:
def widget(widget, options={})
begin
unless options[:fullpath]
render :partial => widget_path(widget, options[:global])
else
render "widgets/#{widget}"
end
rescue ActionView::MissingTemplate
"<!-- widget: #{widget.inspect}, #{options.inspect} -->"
end
end