Jak mogę uczynić simple_format nie zawijać zwróconej wartości w tagach p?Szyny 3. simple_format nie zawijaj wyników w znacznikach akapitów
simple_format "<span class="required">*</span>"
Jak mogę uczynić simple_format nie zawijać zwróconej wartości w tagach p?Szyny 3. simple_format nie zawijaj wyników w znacznikach akapitów
simple_format "<span class="required">*</span>"
Niestety - nie można. Jeśli sprawdzisz źródło na http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html#method-i-simple_format zobaczysz, że tagi p są zawinięte wokół zawartości bezwarunkowo.
Można utworzyć pomocnika, który wykorzystuje kod simple_format, ale go zmodyfikować, aby nie zawierać znaczniki p ...
Prawdopodobnie nie, co naprawdę chciał, ale ... skończyło się w ten sposób:
module ApplicationHelper
def nl2br s
split_paragraphs(sanitize(s, tags: [])).join('<br>').html_safe
end
end
UPD Albo lepiej to:
def nl2br s
sanitize(s, tags: []).gsub(/\n/, '<br>').html_safe
end
można określić wrapper_tag
opcję.
simple_format 'Hello', {}, wrapper_tag: 'span'
Kod ten będzie:
<span>Hello</span>
czy istnieje alternatywa dla simple_format? wszystko, czego chcę, aby moja metoda wyświetliła się, to ' *' i po tym, jak HTML znowu dobrze odczytał – leonel
- simple_format ma tylko 9 linii, a jeśli usunięto drugą, ósmą i dziewiątą linię, nie wstawiłbym tagów P już. Ale nie jestem pewien, co masz na myśli przez "interpretację kodu HTML"? – elijah
wygląda jak w Railsach 4 będziesz mógł zmienić tag opakowania tak jak 'simple_format (my_text, {}, wrapper_tag:" div ")' ale to nie działa dla mnie w Rails 3 – FireDragon