我有一個對象,其值都是大寫字母,我希望f.label
幫助程序將它打印爲全部大寫字符 - 無需執行CSS轉換。爲什麼f.label轉換'ALL'將字符串轉換爲'All'大寫字符
現在,如果我在我的對象中有字符串AAPL
,則f.label
將其吐出爲Aapl
。
我不想使用CSS轉換的原因是因爲對象的值不總是需要全部大寫。我只想讓f.label
將它存儲在數據庫中完全一樣 - 最好沒有任何CSS shenanigans。
我該怎麼做?
我有一個對象,其值都是大寫字母,我希望f.label
幫助程序將它打印爲全部大寫字符 - 無需執行CSS轉換。爲什麼f.label轉換'ALL'將字符串轉換爲'All'大寫字符
現在,如果我在我的對象中有字符串AAPL
,則f.label
將其吐出爲Aapl
。
我不想使用CSS轉換的原因是因爲對象的值不總是需要全部大寫。我只想讓f.label
將它存儲在數據庫中完全一樣 - 最好沒有任何CSS shenanigans。
我該怎麼做?
這聽起來像是在呼喚humanize()
。當Rails將元素名稱轉換爲標籤標題時,這似乎發生了。可能您應該將標籤的文本定義爲表單元素。
<%= f.label(:aapl, 'AAPL') %>
甚至
<%= f.label(:aapl, @yourVar) %>
你的另一個選擇可能是翻譯能力,這Rails提供。這對於Rails> 3.1是有效的!
在你看來:
<% form_for @post do |f| %>
<%= f.label :title %>
<%= f.text_field :title %>
<%= f.submit %>
<% end %>
在你en.yml:
en:
helpers:
label:
post:
title: 'Your Title'
試試這個:
f.label(topic).upcase.html_safe
的問題是,我需要的標籤,以動態地生成。例如,假設屬性是'topic.name'。這將如何工作?顯然'f.label(topic.name,topic.name)'不起作用。 – marcamillion
此外,我在複選框集合內生成這些標籤 - 因此標籤位於每個塊中的局部變量「topic」的「each」中。 – marcamillion
所以你可以創建一個幫助器方法來從特定的字段/複選框創建標籤標題。我不想變得不友善,但這不是這個問題的一部分。你應該問一個新的問題,並提供一些源代碼來清除這種情況。 – Robin