/ / rails 3 sta stampando i tag html sullo schermo invece di renderli - ruby-on-rails, activescaffold, ruby-on-rails-3

rails 3 sta stampando i tag html sullo schermo invece di renderli - ruby-on-rails, activescaffold, ruby-on-rails-3

Sto usando la forcella di active_scaffold di vhochstein, che funziona molto bene su rails 3, fatta eccezione per alcuni piccoli bug - http://github.com/vhochstein/active_scaffold.

In rails 2.3, il codice seguente disabilita un collegamento:

return "<a class="disabled">#{text}</a>" unless authorized

In Rails 3, invece, vengono stampati i tag html con escape come nella seguente foto:

ruby-on-rails / rotaie-3-è-stampa-html-tag-to-screen-posto-di-resa-them.png

Come posso rendere il contenuto di questa dichiarazione di reso come dovrebbe essere nelle rotaie 3?

Il codice sopra, è dal list_column_helpers.rb file in vendor / plugins / active_scaffold / helpers /

AGGIORNARE:

Floatless ha risolto questo suggerendo di aggiungere .html_safe al codice.

Da allora ho scoperto che anche il cambiamento di folowing deve essere fatto in quanto c'è più di un bit di codice che è responsabile per disabilitare i link di azione in active_Scaffold:

In /plugins/active_scaffold/frontends/default/views/_list_actions.html.erb cambia:

<%= record.authorized_for?(:crud_type => etc etc etc -%>

By making it use "raw"

i.e.

<%= raw record.authorized_for?(:crud_type => etc etc etc -%>

Comunque, grazie a floatless e spero che il signor hochstein sia in grado di usare questa roba.

risposte:

11 per risposta № 1

Prova questo:

return "<a class="disabled">#{text}</a>".html_safe unless authorized