我在將應用程序移動到Rails 3時遇到了一個大問題。我有一個視圖幫助器,我稱之爲「WidgetHelper」。當我參考它時,它有助於自動呈現某些部分。例如Rails 3部件幫手部分
<%= 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
謝謝,它運作良好。我爲你和@Jamie Wong添加分數,因爲我在我的應用程序中使用了這兩種解決方案。 – 2010-09-17 10:18:26
在我看來,這似乎有些倒退 - 你什麼時候想要沒有原始的小部件?指定你想要的原料應該是我腦海中定義的一部分,而不是調用。 – 2010-09-17 14:48:33
你是對的傑米。修復即將到來。 – edgerunner 2010-09-17 20:21:58