2010-08-01 2 views
3

Я использую вилку vhochstein's active_scaffold, которая довольно хорошо работает на рельсах 3, за исключением нескольких небольших ошибок - http://github.com/vhochstein/active_scaffold.rails 3 печатает html теги на экран вместо их рендеринга

В рельсы 2,3, следующий код отключает ссылку:

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

Но в Rails 3, он вызывает сбежавшие HTML-теги, которые будут распечатаны, а не как в следующем фото:

https://internet-websites.s3.amazonaws.com/image2886.png

Как я могу сделать содержимое этого оператора возврата визуально таким, как оно должно быть в рельсах 3?

Код выше, из list_column_helpers.rb файла поставщика/плагинов/active_scaffold/хелперов/

UPDATE:

Floatless исправил, предложив добавить .html_safe к коду.

С тех пор я обнаружил, что на следующие изменения также должно быть сделано, поскольку есть более чем один бит кода, который respondible для отключения ссылки на действия в active_Scaffold:

В/плагинов/active_scaffold/Фронтэнды/умолчанию/просмотров /_list_actions.html.erb изменение:

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

By making it use "raw" 

i.e. 

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

Во всяком случае, благодаря floatless и, надеюсь, господин Хохштейн будет иметь возможность использовать этот материал.

ответ

11

Попробуйте это:

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

удивительным! вы его исправили. Я отправил письмо владельцу gitrepo, чтобы сообщить ему о потоке, чтобы он мог включить его в свой код. спасибо большое – stephenmurdoch

+0

Я разблокировал active_scaffold и добавил исправления http://github.com/murdoch/active_scaffold – stephenmurdoch

Смежные вопросы