我正在嘗試構建我的第一個Rails應用程序,並且正在使用Ryan Heath's navigation_helper插件在我的導航中爲我提供當前的類。我建我的命名路線如下:將字符串標記爲HTML安全
match 'games' => 'games#index', :as => :games
match 'new' => 'games#new', :as => :new
match 'previous' => 'games#previous', :as => :previous
match 'settings' => 'settings#index', :as => :settings
然後在我的application_layout添加以下代碼
<%= navigation([:games, :new, :previous, :settings]).html_safe %>
據我所知軌html_safe應強制HTML要正確呈現的,而是什麼我得到的是這樣的:
<ul class="navigation">["<li class=\"current\"><a href=\"/games\">Games</a></li>", "<li class=\"\"><a href=\"/new\">New</a></li>", "<li class=\"\"><a href=\"/previous\">Previous</a></li>", "<li class=\"\"><a href=\"/settings\">Settings</a></li>"]</ul>
所以我做錯了什麼,或者插件做錯了什麼?我知道這個插件是在2.x天內寫回來的,從我所知的處理HTML的方式來看有點不同,但我只是不夠清楚。
使用原始我得到的結果相同。 raw和html_safe有什麼區別? –
看看這個:http://stackoverflow.com/questions/4251284/raw-vs-html-safe-vs-h-to-unescape-html –
謝謝。我想我現在明白了。如果你不使用圓括號(例如'raw navigation [:games,:new,:previous,:settings')),則raw對於方法調用更好,而html_safe在字符串上看起來更好。 –